{
    "swagger": "2.0",
    "info": {
        "description": "devops server",
        "title": "Devops API",
        "contact": {},
        "version": "1.0"
    },
    "paths": {
        "/api/v1/devops-internal/controlplane/deployments/{deployment_id}/apply/complete": {
            "post": {
                "description": "callback when apply workflow completes",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DeploymentController"
                ],
                "operationId": "DeploymentControllerOnApplyComplete",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "deployment id",
                        "name": "deployment_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request body",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/controlplane.OnApplyCompleteReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops-internal/controlplane/deployments/{deployment_id}/preview/complete": {
            "post": {
                "description": "callback when preview workflow completes",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DeploymentController"
                ],
                "operationId": "DeploymentControllerOnPreviewComplete",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "deployment id",
                        "name": "deployment_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request body",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/controlplane.OnPreviewCompleteReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops-internal/github/pulls/sync": {
            "post": {
                "description": "sync all pull requests manually",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "GithubController"
                ],
                "operationId": "GithubControllerSyncPullRequests",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops-internal/github/repos/sync": {
            "post": {
                "description": "sync all repos manually",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "GithubController"
                ],
                "operationId": "GithubControllerSyncRepositories",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops-internal/itoken/.well-known/jwks.json": {
            "get": {
                "description": "get jwks in standard format for token verification",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "InternalTokenController"
                ],
                "operationId": "InternalTokenControllerGetWellKnownJWKS",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/itoken.JWKSet"
                        }
                    }
                }
            }
        },
        "/api/v1/devops-internal/release/releases/sync": {
            "post": {
                "description": "sync all releases manually",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerSyncReleaseManually",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops-internal/tenants": {
            "get": {
                "description": "list tenants internal",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "ListTenantsInternal",
                "parameters": [
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "internal",
                                "external"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "kind",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "asc",
                            "desc"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "OrderTypeASC",
                            "OrderTypeDESC"
                        ],
                        "name": "order",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "new_user",
                                "free_trial",
                                "poc",
                                "on_demand"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "plan",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "APAC",
                                "EMEA",
                                "JAPAN",
                                "NA",
                                "UNKNOWN",
                                "RDG",
                                "TEST_INFRA",
                                "LATAM"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "region",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "SKA",
                                "KA",
                                "SMB"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "segmentation",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "created_at",
                            "timezone"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "SortByTypeCreatedAt",
                            "SortByTypeTimezone"
                        ],
                        "name": "sort_by",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "pending",
                                "active",
                                "inactive",
                                "deleted",
                                "cleared"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "status",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.ListTenantResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops-internal/tenants/{tenant_id}": {
            "get": {
                "description": "get tenant internal",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "GetTenantInternal",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.GetTenantResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/accountusers/{user_id}": {
            "delete": {
                "description": "delete account user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "DeleteAccountUser",
                "parameters": [
                    {
                        "type": "string",
                        "description": "user_id",
                        "name": "user_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "DeleteAccountUserReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tenant.DeleteAccountUserReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.CommonResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/application/applications": {
            "get": {
                "description": "list applications",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ApplicationController"
                ],
                "operationId": "ApplicationControllerListApplication",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/application.ListApplicationResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create a application",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ApplicationController"
                ],
                "operationId": "ApplicationControllerCreateApplication",
                "parameters": [
                    {
                        "description": "request",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/application.CreateApplicationReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/application.CreateApplicationResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/application/applications/{name}": {
            "get": {
                "description": "get a application",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ApplicationController"
                ],
                "operationId": "ApplicationControllerGetApplication",
                "parameters": [
                    {
                        "type": "string",
                        "description": "application name",
                        "name": "name",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/application.GetApplicationResp"
                        }
                    }
                }
            },
            "put": {
                "description": "update a application",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ApplicationController"
                ],
                "operationId": "ApplicationControllerUpdateApplication",
                "parameters": [
                    {
                        "type": "string",
                        "description": "application name",
                        "name": "name",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/application.CreateApplicationReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "delete": {
                "description": "delete a application",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ApplicationController"
                ],
                "operationId": "ApplicationControllerDeleteApplication",
                "parameters": [
                    {
                        "type": "string",
                        "description": "application name",
                        "name": "name",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/approval/approvals": {
            "post": {
                "description": "create a approval",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ApprovalController"
                ],
                "operationId": "ApprovalControllerCreateApproval",
                "parameters": [
                    {
                        "description": "create approval request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/approval.CreateApprovalReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/approval.CreateApprovalResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/approval/approvals/{appr_id}": {
            "get": {
                "description": "get a approval",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ApprovalController"
                ],
                "operationId": "ApprovalControllerGetApproval",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "approval id",
                        "name": "appr_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/approval.GetApprovalResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/approval/approvals/{appr_id}/admin_approve": {
            "post": {
                "description": "approve a approval by admin",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ApprovalController"
                ],
                "operationId": "ApprovalControllerAdminApprove",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "approval id",
                        "name": "appr_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/approval/approvals/{appr_id}/approve": {
            "post": {
                "description": "approve a approval",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ApprovalController"
                ],
                "operationId": "ApprovalControllerUserApprove",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "approval id",
                        "name": "appr_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/approval/approvals/{appr_id}/cancel": {
            "post": {
                "description": "cancel a approval",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ApprovalController"
                ],
                "operationId": "ApprovalControllerCancelApproval",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "approval id",
                        "name": "appr_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/approval/approvals/{appr_id}/reject": {
            "post": {
                "description": "approve a approval",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ApprovalController"
                ],
                "operationId": "ApprovalControllerUserReject",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "approval id",
                        "name": "appr_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/audit": {
            "get": {
                "description": "list audit logs",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "AuditController"
                ],
                "operationId": "AuditControllerListAuditLog",
                "parameters": [
                    {
                        "type": "string",
                        "name": "instance_id",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "change",
                            "ctl",
                            "cluster_maintenance",
                            "operation",
                            "jump",
                            "cloud_config_change",
                            "cloud_config_default_config_change",
                            "k8s_upgrade_task",
                            "tenant",
                            "spu_sku",
                            "rbac_role",
                            "rbac_rolebinding",
                            "iam_role",
                            "iam_rolebinding",
                            "iam_policy",
                            "iam_policybinding",
                            "iam_apikey"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "AuditLogTypeChange",
                            "AuditLogTypeCtl",
                            "AuditLogTypeClusterMaintenance",
                            "AuditLogTypeOperation",
                            "AuditLogTypeJump",
                            "AuditLogTypeCloudConfigChange",
                            "AuditLogTypeCloudConfigDefaultConfigChange",
                            "AuditLogTypeK8sUpgradetask",
                            "AuditLogTypeTenant",
                            "AuditLogTypeSpuSku",
                            "AuditLogTypeRBACRole",
                            "AuditLogTypeRBACRoleBinding",
                            "AuditLogTypeIAMRole",
                            "AuditLogTypeIAMRoleBinding",
                            "AuditLogTypeIAMPolicy",
                            "AuditLogTypeIAMPolicyBinding",
                            "AuditLogTypeIAMAPIKey"
                        ],
                        "name": "type",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/audit.ListAuditLogResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/audit/changes": {
            "get": {
                "description": "list audit logs for changes",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "AuditController"
                ],
                "operationId": "AuditControllerListChangeAuditLog",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "change_id",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/audit.ListChangeAuditLogResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/audit/cluster-maintenance": {
            "get": {
                "description": "list audit logs for cluster maintenance",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "AuditController"
                ],
                "operationId": "AuditControllerListClusterMaintenanceAuditLog",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "maintenance_id",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/audit.ListClusterMaintenanceAuditLogResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/audit/ctl": {
            "get": {
                "description": "list audit logs for ctl",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "AuditController"
                ],
                "operationId": "AuditControllerListCtlAuditLog",
                "parameters": [
                    {
                        "type": "string",
                        "name": "cluster_id",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/audit.ListCtlAuditLogResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/audit/jumps": {
            "get": {
                "description": "list audit logs for jump authorizations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "AuditController"
                ],
                "operationId": "AuditControllerListJumpAuditLog",
                "parameters": [
                    {
                        "type": "string",
                        "name": "authorization_id",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/audit.ListJumpAuditLogResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/audit/operations": {
            "get": {
                "description": "list audit logs for operation instances",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "AuditController"
                ],
                "operationId": "AuditControllerListOperationAuditLog",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "instance_id",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/audit.ListOperationAuditLogResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/audit/types": {
            "get": {
                "description": "list audit log types",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "AuditController"
                ],
                "operationId": "AuditControllerListAuditLogTypes",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/audit.ListAuditLogTypesResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig-admin/parameter/attribute/clone": {
            "post": {
                "description": "clone paramter attributes from old version",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerCloneParameterAttribute",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.CloneParamAttrReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig-admin/parameter/attribute/create": {
            "post": {
                "description": "create a paramter attribute",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerCreateParameterAttribute",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.CreateParamAttrReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig-admin/parameter/attribute/{config_type}/{version}/{param_name}": {
            "put": {
                "description": "update a parameter attribute",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerUpdateParameterAttribute",
                "parameters": [
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "description": "cluster_type",
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "config_type",
                        "name": "config_type",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "version",
                        "name": "version",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "param_name",
                        "name": "param_name",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.UpdateParamAttrReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/changes/{change_id}": {
            "get": {
                "description": "get a config change of a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerGetConfigChange",
                "parameters": [
                    {
                        "type": "string",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.GetConfigurationChangeResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/changes/{change_id}/apply": {
            "post": {
                "description": "aplly a config change",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerApplyConfigurationChange",
                "parameters": [
                    {
                        "type": "string",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ApplyConfigurationChangeReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/changes/{change_id}/cancel": {
            "post": {
                "description": "cancel a config change",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerCancelConfigurationChange",
                "parameters": [
                    {
                        "type": "string",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/cluster-components/search": {
            "get": {
                "description": "search cluster component versions",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerSearchClusterComponents",
                "parameters": [
                    {
                        "type": "string",
                        "name": "cluster_id",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ClusterTypeUnknown",
                            "ClusterTypeDedicatedTiDB",
                            "ClusterTypeTiCDC",
                            "ClusterTypeChangefeed",
                            "ClusterTypeSharedPool",
                            "ClusterTypeLogicalCluster",
                            "ClusterTypeTiCDCNG",
                            "ClusterTypeChangefeedNG",
                            "ClusterTypeChangefeedEssential"
                        ],
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "component_name",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "component_version",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "image_tag",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "logical_region",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "maximum": 500,
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "region_mode",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "tenant_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.SearchClusterComponentsResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/cluster/changes": {
            "get": {
                "description": "list config changes",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListClusterConfigurationChanges",
                "parameters": [
                    {
                        "type": "string",
                        "name": "cluster_id",
                        "in": "query",
                        "required": true
                    },
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ClusterTypeUnknown",
                            "ClusterTypeDedicatedTiDB",
                            "ClusterTypeTiCDC",
                            "ClusterTypeChangefeed",
                            "ClusterTypeSharedPool",
                            "ClusterTypeLogicalCluster",
                            "ClusterTypeTiCDCNG",
                            "ClusterTypeChangefeedNG",
                            "ClusterTypeChangefeedEssential"
                        ],
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "created_at_end_unix_sec",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "created_at_start_unix_sec",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "have_modified_param_like",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "id_only",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListConfigurationChangeResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "change the configuration of a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerCreateClusterConfigurationChange",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.CreateClusterConfigurationChangeReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.CreateConfigurationChangeResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/cluster/changes/preview": {
            "post": {
                "description": "change the configuration of a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerPreviewClusterConfigurationChange",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.PreviewClusterConfigurationChangeReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.PreviewConfigurationChangeResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/cluster/config": {
            "get": {
                "description": "get the current configuration of a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerGetClusterConfiguration",
                "parameters": [
                    {
                        "type": "string",
                        "name": "cluster_id",
                        "in": "query",
                        "required": true
                    },
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ClusterTypeUnknown",
                            "ClusterTypeDedicatedTiDB",
                            "ClusterTypeTiCDC",
                            "ClusterTypeChangefeed",
                            "ClusterTypeSharedPool",
                            "ClusterTypeLogicalCluster",
                            "ClusterTypeTiCDCNG",
                            "ClusterTypeChangefeedNG",
                            "ClusterTypeChangefeedEssential"
                        ],
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.GetConfigurationResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/components": {
            "get": {
                "description": "list available components",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListComponents",
                "parameters": [
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "description": "cluster_type",
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListComponentsResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/config-types/{cluster_type}": {
            "get": {
                "description": "list available config types",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListConfigTypes",
                "parameters": [
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "description": "cluster_type",
                        "name": "cluster_type",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListConfigTypesResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/changes": {
            "get": {
                "description": "list template changes",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListDefaultConfigurationChanges",
                "parameters": [
                    {
                        "enum": [
                            "version_release",
                            "template_default_case_binding",
                            "default_component_config"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "DefaultConfigurationChangeItemTypeVersionRelease",
                            "DefaultConfigurationChangeItemTypeTemplateDefaultCaseBinding",
                            "DefaultConfigurationChangeItemTypeDefaultComponentConfig"
                        ],
                        "name": "contain_item_type",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListDefaultConfigurationChangesResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/changes/{change_id}": {
            "get": {
                "description": "get a template change",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerGetDefaultConfigurationChange",
                "parameters": [
                    {
                        "type": "string",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "name": "with_change_items",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.GetDefaultConfigurationChangeResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/changes/{change_id}/close": {
            "post": {
                "description": "close a template change",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerCloseDefaultConfigurationChange",
                "parameters": [
                    {
                        "type": "string",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.CloseDefaultConfigurationChangeReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/changes/{change_id}/items": {
            "get": {
                "description": "list change items",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListDefaultConfigurationChangeItems",
                "parameters": [
                    {
                        "type": "string",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "data_is",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "version_release",
                            "template_default_case_binding",
                            "default_component_config"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "DefaultConfigurationChangeItemTypeVersionRelease",
                            "DefaultConfigurationChangeItemTypeTemplateDefaultCaseBinding",
                            "DefaultConfigurationChangeItemTypeDefaultComponentConfig"
                        ],
                        "name": "type_is",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListDefaultConfigurationChangeItemsResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/changes/{change_id}/items/batchUpdate": {
            "post": {
                "description": "batch update change items",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerBatchUpdateDefaultConfigurationChangeItems",
                "parameters": [
                    {
                        "type": "string",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.BatchUpdateDefaultConfigurationChangeItemsReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/changes/{change_id}/items/stat": {
            "get": {
                "description": "stat change items",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerStatDefaultConfigurationChangeItems",
                "parameters": [
                    {
                        "type": "string",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "name": "config_types_of_template_default_case_binding",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.StatDefaultConfigurationChangeItemsResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/changes/{change_id}/items/unreleased": {
            "get": {
                "description": "list unreleased change items",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListUnreleasedDefaultConfigurationChangeItems",
                "parameters": [
                    {
                        "type": "string",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "environment_is",
                        "in": "query",
                        "required": true
                    },
                    {
                        "enum": [
                            "version_release",
                            "template_default_case_binding",
                            "default_component_config"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "DefaultConfigurationChangeItemTypeVersionRelease",
                            "DefaultConfigurationChangeItemTypeTemplateDefaultCaseBinding",
                            "DefaultConfigurationChangeItemTypeDefaultComponentConfig"
                        ],
                        "name": "type_is",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListUnreleasedDefaultConfigurationChangeItemsResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/changes/{change_id}/releases": {
            "get": {
                "description": "list change releases",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListDefaultConfigurationChangeReleases",
                "parameters": [
                    {
                        "type": "string",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "environment_is",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListDefaultConfigurationChangeReleasesResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "release a change to a environment",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerCreateDefaultConfigurationChangeRelease",
                "parameters": [
                    {
                        "type": "string",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.CreateDefaultConfigurationChangeReleaseReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/changes/{change_id}/releases/rollback": {
            "post": {
                "description": "rollback a change to a environment",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerRollbackDefaultConfigurationChangeRelease",
                "parameters": [
                    {
                        "type": "string",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.RollbackDefaultConfigurationChangeReleaseReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/changes/{change_id}/releases/{release_id}": {
            "get": {
                "description": "list change releases",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerGetDefaultConfigurationChangeRelease",
                "parameters": [
                    {
                        "type": "string",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "release id",
                        "name": "release_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "name": "with_released_items",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.GetDefaultConfigurationChangeRelease"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/changes/{change_id}/releases/{release_id}/cancel": {
            "post": {
                "description": "cancel a release",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerCancelDefaultConfigurationChangeRelease",
                "parameters": [
                    {
                        "type": "string",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "release id",
                        "name": "release_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/changes/{change_id}/releases/{release_id}/items": {
            "get": {
                "description": "list change item releases",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListDefaultConfigurationChangeItemRelease",
                "parameters": [
                    {
                        "type": "string",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "release id",
                        "name": "release_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListDefaultConfigurationChangeItemReleaseResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/components": {
            "patch": {
                "description": "update default components",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerUpdateDefaultComponents",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/components/change": {
            "post": {
                "description": "create default components",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerChangeDefaultComponents",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ChangeDefaultComponentsReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.CreateDefaultConfigurationChangeResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/template-bindings": {
            "get": {
                "description": "list template default cases",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListTemplateDefaultCaseBindings",
                "parameters": [
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ClusterTypeUnknown",
                            "ClusterTypeDedicatedTiDB",
                            "ClusterTypeTiCDC",
                            "ClusterTypeChangefeed",
                            "ClusterTypeSharedPool",
                            "ClusterTypeLogicalCluster",
                            "ClusterTypeTiCDCNG",
                            "ClusterTypeChangefeedNG",
                            "ClusterTypeChangefeedEssential"
                        ],
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "config_type_is",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "default_for_cloud_provider",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "default_for_instance_type",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "default_for_tenant_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "default_for_version",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "exact_match",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListTemplateDefaultCaseBindingsResp"
                        }
                    }
                }
            },
            "patch": {
                "description": "update template default cases",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerUpdateTemplateDefaultCaseBindings",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.UpdateTemplateDefaultCaseBindingsReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/template-bindings/change": {
            "post": {
                "description": "create a template change",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerChangeTemplateDefaultCaseBindings",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ChangeTemplateDefaultCaseBindingsReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.CreateDefaultConfigurationChangeResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/template-bindings/delete-by-op": {
            "post": {
                "description": "delete a template change",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerDeleteTemplateDefaultCaseBindingByOp",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.DeleteTemplateDefaultCaseBindingByOpReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.DeleteTemplateDefaultCaseBindingResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/template-bindings/update-by-op": {
            "post": {
                "description": "create a template change",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerUpdateTemplateDefaultCaseBindingByOp",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.UpdateTemplateDefaultCaseBindingByOpReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.UpdateTemplateDefaultCaseBindingResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/versions/defaultrules": {
            "get": {
                "description": "List rules for choose default version",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListDefaultVersionRules",
                "parameters": [
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ClusterTypeUnknown",
                            "ClusterTypeDedicatedTiDB",
                            "ClusterTypeTiCDC",
                            "ClusterTypeChangefeed",
                            "ClusterTypeSharedPool",
                            "ClusterTypeLogicalCluster",
                            "ClusterTypeTiCDCNG",
                            "ClusterTypeChangefeedNG",
                            "ClusterTypeChangefeedEssential"
                        ],
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "component",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListDefaultVersionRulesResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/versions/import": {
            "post": {
                "description": "Import versions from gitops",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerImportVersions",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ImportVersionsReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ImportVersionsResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/default-config/versions/release": {
            "post": {
                "description": "release a version",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerReleaseVersion",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ReleaseVersionReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.CreateDefaultConfigurationChangeResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/defaultversion/dm/{version}": {
            "post": {
                "description": "update default dm version",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerUpdateDefaultDmVersion",
                "parameters": [
                    {
                        "type": "string",
                        "description": "version",
                        "name": "version",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.UpdateDefaultClusterVersionReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.UpdateDefaultClusterVersionResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/instance-types/{cluster_type}": {
            "get": {
                "description": "list available instance types",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListInstanceTypes",
                "parameters": [
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "description": "cluster_type",
                        "name": "cluster_type",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "version",
                        "name": "version",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "config_type",
                        "name": "config_type",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListInstanceTypesResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/meta_profile": {
            "get": {
                "description": "list meta profiles",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListMetaProfiles",
                "parameters": [
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ClusterTypeUnknown",
                            "ClusterTypeDedicatedTiDB",
                            "ClusterTypeTiCDC",
                            "ClusterTypeChangefeed",
                            "ClusterTypeSharedPool",
                            "ClusterTypeLogicalCluster",
                            "ClusterTypeTiCDCNG",
                            "ClusterTypeChangefeedNG",
                            "ClusterTypeChangefeedEssential"
                        ],
                        "name": "cluster_type",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "maximum": 500,
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "profile_name",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "tenant_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListMetaProfilesResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create a meta profile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerCreateMetaProfile",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.CreateMetaProfileReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.OperationResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/meta_profile/{profile_id}": {
            "get": {
                "description": "get the meta profile by id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerGetMetaProfile",
                "parameters": [
                    {
                        "type": "string",
                        "description": "profile id",
                        "name": "profile_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "cluster type",
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.MetaProfile"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/parameter/attribute/{configtype}/{version}": {
            "get": {
                "description": "list parameter attributes",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListParameterAttributes",
                "parameters": [
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "description": "cluster_type",
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "configtype",
                        "name": "configtype",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "version",
                        "name": "version",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "name_in",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "name_like",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListParamAttrResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/parameter/attribute/{configtype}/{version}/{param_name}": {
            "get": {
                "description": "get a parameter attribute",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerGetParameterAttribute",
                "parameters": [
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "description": "cluster_type",
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "configtype",
                        "name": "configtype",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "version",
                        "name": "version",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "param_name",
                        "name": "param_name",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.GetParamAttrResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/parameter/versions": {
            "get": {
                "description": "list available versions from dict",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListParameterVersions",
                "parameters": [
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "description": "cluster_type",
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListParamVersionsResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/template/changes": {
            "get": {
                "description": "list config template changes",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListConfigurationTemplateChange",
                "parameters": [
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ClusterTypeUnknown",
                            "ClusterTypeDedicatedTiDB",
                            "ClusterTypeTiCDC",
                            "ClusterTypeChangefeed",
                            "ClusterTypeSharedPool",
                            "ClusterTypeLogicalCluster",
                            "ClusterTypeTiCDCNG",
                            "ClusterTypeChangefeedNG",
                            "ClusterTypeChangefeedEssential"
                        ],
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "have_modified_param_like",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "id_only",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "unspecified",
                            "custom",
                            "custom_part",
                            "tenant_default"
                        ],
                        "type": "string",
                        "x-enum-comments": {
                            "TemplateTypeCustomPart": "internal use only"
                        },
                        "x-enum-varnames": [
                            "TemplateTypeUnspecified",
                            "TemplateTypeCustom",
                            "TemplateTypeCustomPart",
                            "TemplateTypeTenantDefault"
                        ],
                        "name": "template_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Own Tenant ID, only for TemplateTypeTenantDefault",
                        "name": "tenant_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListConfigurationChangeResp"
                        }
                    }
                }
            },
            "post": {
                "description": "update configuration template",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerCreateConfigurationTemplateChange",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.CreateConfigurationTemplateChangeReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.CreateConfigurationChangeResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/template/templates": {
            "get": {
                "description": "list templates",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListTemplates",
                "parameters": [
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ClusterTypeUnknown",
                            "ClusterTypeDedicatedTiDB",
                            "ClusterTypeTiCDC",
                            "ClusterTypeChangefeed",
                            "ClusterTypeSharedPool",
                            "ClusterTypeLogicalCluster",
                            "ClusterTypeTiCDCNG",
                            "ClusterTypeChangefeedNG",
                            "ClusterTypeChangefeedEssential"
                        ],
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "id_in",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "name_in",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "template_type",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "tenant_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "version",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListTemplatesResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create a template",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerCreateTemplate",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.CreateTemplateReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.CreateTemplateResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/template/templates/{template_id}": {
            "get": {
                "description": "get a template",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerGetTemplate",
                "parameters": [
                    {
                        "type": "string",
                        "description": "template_id",
                        "name": "template_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ClusterTypeUnknown",
                            "ClusterTypeDedicatedTiDB",
                            "ClusterTypeTiCDC",
                            "ClusterTypeChangefeed",
                            "ClusterTypeSharedPool",
                            "ClusterTypeLogicalCluster",
                            "ClusterTypeTiCDCNG",
                            "ClusterTypeChangefeedNG",
                            "ClusterTypeChangefeedEssential"
                        ],
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "name": "with_default_cases",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.GetTemplateResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/template/templates/{template_id}/diff": {
            "get": {
                "description": "diff a template",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerDiffTemplate",
                "parameters": [
                    {
                        "type": "string",
                        "description": "template_id",
                        "name": "template_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ClusterTypeUnknown",
                            "ClusterTypeDedicatedTiDB",
                            "ClusterTypeTiCDC",
                            "ClusterTypeChangefeed",
                            "ClusterTypeSharedPool",
                            "ClusterTypeLogicalCluster",
                            "ClusterTypeTiCDCNG",
                            "ClusterTypeChangefeedNG",
                            "ClusterTypeChangefeedEssential"
                        ],
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "template_id",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.DiffTemplateResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/tenantinit/changes": {
            "get": {
                "description": "list config changes",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListTenantInitConfigurationChanges",
                "parameters": [
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ClusterTypeUnknown",
                            "ClusterTypeDedicatedTiDB",
                            "ClusterTypeTiCDC",
                            "ClusterTypeChangefeed",
                            "ClusterTypeSharedPool",
                            "ClusterTypeLogicalCluster",
                            "ClusterTypeTiCDCNG",
                            "ClusterTypeChangefeedNG",
                            "ClusterTypeChangefeedEssential"
                        ],
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "have_modified_param_like",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "id_only",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "tenant_id",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListConfigurationChangeResp"
                        }
                    }
                }
            },
            "post": {
                "description": "change a tenant init configuration",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerCreateTenantInitConfigurationChange",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.CreateTenantInitConfigurationChangeReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.CreateConfigurationChangeResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/tenantinit/changes/preview": {
            "post": {
                "description": "change the configuration of a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerPreviewTenantInitConfigurationChange",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.PreviewTenantInitConfigurationChangeReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.PreviewConfigurationChangeResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/tenantinit/config": {
            "get": {
                "description": "get a tenant init config",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerGetTenantInitConfiguration",
                "parameters": [
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ClusterTypeUnknown",
                            "ClusterTypeDedicatedTiDB",
                            "ClusterTypeTiCDC",
                            "ClusterTypeChangefeed",
                            "ClusterTypeSharedPool",
                            "ClusterTypeLogicalCluster",
                            "ClusterTypeTiCDCNG",
                            "ClusterTypeChangefeedNG",
                            "ClusterTypeChangefeedEssential"
                        ],
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "tenant_id",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.GetConfigurationResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/tenantinit/images": {
            "get": {
                "description": "get a tenant init images",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerGetTenantInitImages",
                "parameters": [
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ClusterTypeUnknown",
                            "ClusterTypeDedicatedTiDB",
                            "ClusterTypeTiCDC",
                            "ClusterTypeChangefeed",
                            "ClusterTypeSharedPool",
                            "ClusterTypeLogicalCluster",
                            "ClusterTypeTiCDCNG",
                            "ClusterTypeChangefeedNG",
                            "ClusterTypeChangefeedEssential"
                        ],
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "tenant_id",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.TenantImages"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/versions/cluster/{cluster_type}": {
            "get": {
                "description": "list available cluster versions",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListAvailableClusterVersions",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster_type",
                        "name": "cluster_type",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListAvailableClusterVersionsResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/versions/cluster/{cluster_type}/{version}": {
            "patch": {
                "description": "update a version",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerUpdateVersion",
                "parameters": [
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "description": "cluster_type",
                        "name": "cluster_type",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "version",
                        "name": "version",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.UpdateDefaultClusterVersionReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.UpdateDefaultClusterVersionResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/versions/component/{component}": {
            "get": {
                "description": "list available component versions",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListAvailableComponentVersions",
                "parameters": [
                    {
                        "type": "string",
                        "description": "component",
                        "name": "component",
                        "in": "path",
                        "required": true
                    },
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "description": "cluster_type, default is DEDICATED_TIDB",
                        "name": "cluster_type",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "tenant_id, optional",
                        "name": "tenant_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListAvailableComponentVersionsResp"
                        }
                    }
                }
            },
            "post": {
                "description": "update component's image only for ng",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerUpdateComponentImage",
                "parameters": [
                    {
                        "type": "string",
                        "description": "component",
                        "name": "component",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.UpdateComponentImageReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.OperationResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cloudconfig/versions/component/{component}/update-records": {
            "get": {
                "description": "list component image update operation records",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListComponentImageUpdateRecords",
                "parameters": [
                    {
                        "type": "string",
                        "description": "component",
                        "name": "component",
                        "in": "path",
                        "required": true
                    },
                    {
                        "enum": [
                            "",
                            "DEDICATED_TIDB",
                            "TICDC",
                            "CHANGEFEED",
                            "SHARED_POOL",
                            "LOGICAL_CLUSTER",
                            "TICDC_NG",
                            "CHANGEFEED_NG",
                            "CHANGEFEED_ESSENTIAL"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ClusterTypeUnknown",
                            "ClusterTypeDedicatedTiDB",
                            "ClusterTypeTiCDC",
                            "ClusterTypeChangefeed",
                            "ClusterTypeSharedPool",
                            "ClusterTypeLogicalCluster",
                            "ClusterTypeTiCDCNG",
                            "ClusterTypeChangefeedNG",
                            "ClusterTypeChangefeedEssential"
                        ],
                        "name": "cluster_type",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListComponentImageUpdateRecordsResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/dedicatedK8sResources": {
            "post": {
                "description": "list dedicated k8s resources via regional-server",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ListDedicatedK8sResources",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Dedicated logical region name (e.g. us-west-2); required with cloud_provider",
                        "name": "region",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "cloud provider (e.g. aws); required with region",
                        "name": "cloud_provider",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Dedicated cluster id; alternative to region/cloud_provider",
                        "name": "cluster_id",
                        "in": "query"
                    },
                    {
                        "description": "same as regional-server ListK8sResourcesRequest",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/k8sresource.ListDedicatedK8sResourcesBody"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8sresource.ListDedicatedK8sResourcesResp"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/k8sInfos": {
            "get": {
                "description": "list k8s infra information",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ListK8SInformation",
                "parameters": [
                    {
                        "enum": [
                            "aws",
                            "gcp"
                        ],
                        "type": "string",
                        "name": "cloud_provider",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "version",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.ListK8SInformationResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/k8sInfos/{cloud_provider}/{region}/{k8s_name}": {
            "get": {
                "description": "get specific k8s infra information",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "GetK8SInformation",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cloud provider",
                        "name": "cloud_provider",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "region",
                        "name": "region",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "k8s name",
                        "name": "k8s_name",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.GetK8SInformationResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/k8sUpgradeAdmin": {
            "get": {
                "description": "check whether the current user is a k8s upgrade admin",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "GetK8sUpgradeAdmin",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.GetK8sUpgradeAdminResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/k8sUpgradeSupportedVersions": {
            "get": {
                "description": "list supported k8s upgrade target versions",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ListK8sUpgradeSupportedVersions",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.ListK8sUpgradeSupportedVersionsResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/k8sUpgradeTasks": {
            "get": {
                "description": "list k8s upgrade tasks",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ListK8sUpgradeTasks",
                "parameters": [
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "aws",
                                "gcp"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "cloud_provider",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "eos_version",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "asc",
                            "desc"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "OrderTypeASC",
                            "OrderTypeDESC"
                        ],
                        "name": "order",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "created_at",
                            "timezone"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "SortByTypeCreatedAt",
                            "SortByTypeTimezone"
                        ],
                        "name": "sort_by",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "pending",
                                "reviewing",
                                "running",
                                "cancelled",
                                "completed"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "status",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.ListTasksResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create a k8s upgrade task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "CreateK8sUpgradeTask",
                "parameters": [
                    {
                        "description": "request body",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.CreateTaskReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.CreateTaskResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/k8sUpgradeTasks/{task_id}": {
            "get": {
                "description": "get specific k8s upgrade task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "GetK8sUpgradeTask",
                "parameters": [
                    {
                        "type": "string",
                        "description": "task id",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "description": "whether to include excluded k8s clusters in the response (default true)",
                        "name": "with_excluded_k8s_clusters",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.GetTaskResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "put": {
                "description": "update a k8s upgrade task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "UpdateK8sUpgradeTask",
                "parameters": [
                    {
                        "type": "string",
                        "description": "task id",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request body",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.UpdateTaskReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "delete": {
                "description": "delete a k8s upgrade task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "DeleteK8sUpgradeTask",
                "parameters": [
                    {
                        "type": "string",
                        "description": "task id",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/k8sUpgradeTasks/{task_id}/close": {
            "post": {
                "description": "close a k8s upgrade task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "CloseK8sUpgradeTask",
                "parameters": [
                    {
                        "type": "string",
                        "description": "task id",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request body",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.CloseTaskReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/k8sUpgradeTasks/{task_id}/notice": {
            "get": {
                "description": "get rendered notice content for a k8s upgrade task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "GetK8sUpgradeTaskNotice",
                "parameters": [
                    {
                        "type": "string",
                        "description": "task id",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "page URL used when rendering notice template placeholders",
                        "name": "page_url",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.RenderedNoticeResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "put": {
                "description": "update notice template (title and content) for a k8s upgrade task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "UpdateK8sUpgradeTaskNotice",
                "parameters": [
                    {
                        "type": "string",
                        "description": "task id",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "notice template",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.NoticeTemplateReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/k8sUpgradeTasks/{task_id}/notify": {
            "post": {
                "description": "Notify Sales Owner / TAM for matching clusters in an upgrade task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Cluster"
                ],
                "operationId": "NotifyK8sUpgradeTask",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Task ID",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request body",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.NotifyReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/k8sUpgradeTasks/{task_id}/submit": {
            "post": {
                "description": "submit a k8s upgrade task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "SubmitK8sUpgradeTask",
                "parameters": [
                    {
                        "type": "string",
                        "description": "task id",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/k8sUpgradeTasks/{task_id}/{k8s_name}": {
            "get": {
                "description": "get specific k8s cluster of an upgrade task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "GetK8sUpgradeTaskCluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "task id",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "k8s name",
                        "name": "k8s_name",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.GetTaskK8sClusterResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "put": {
                "description": "update specific k8s cluster of an upgrade task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "UpdateK8sUpgradeTaskCluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "task id",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "k8s name",
                        "name": "k8s_name",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.UpdateTaskK8sClusterReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.UpdateTaskK8sClusterResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/k8sUpgradeTasks/{task_id}/{k8s_name}/autoGeneration": {
            "put": {
                "description": "update the DisableAutoGeneration field of a specific k8s cluster of an upgrade task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "UpdateK8sUpgradeTaskClusterAutoGeneration",
                "parameters": [
                    {
                        "type": "string",
                        "description": "task id",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "k8s name",
                        "name": "k8s_name",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.UpdateK8sUpgradeTaskClusterAutoGenerationReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.UpdateK8sUpgradeTaskClusterAutoGenerationResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/k8sUpgradeTasks/{task_id}/{k8s_name}/cancel": {
            "put": {
                "description": "cancel the upgrade of a specific k8s cluster for a running task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "CancelUpgradeK8sCluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "task id",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "k8s name",
                        "name": "k8s_name",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.CancelUpgradeK8sClusterResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/k8sUpgradeTasks/{task_id}/{k8s_name}/exclude": {
            "put": {
                "description": "exclude a specific k8s cluster of an upgrade task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ExcludeK8sUpgradeTaskCluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "task id",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "k8s name",
                        "name": "k8s_name",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8supgrade.ExcludeK8sUpgradeTaskClusterResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/maintenances": {
            "get": {
                "description": "list maintenances",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ListMaintenances",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "project_ids",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "Pending",
                                "Running",
                                "Closed"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "statues",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.ListMaintenancesResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create a maintenances",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "CreateMaintenance",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/cluster.CreateMaintenanceReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.CreateMaintenanceResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/maintenances/{maintenance_id}": {
            "get": {
                "description": "get a maintenances",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "GetMaintenance",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "maintenance id",
                        "name": "maintenance_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "name": "with_executions",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.GetMaintenanceResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/maintenances/{maintenance_id}/close": {
            "post": {
                "description": "close a maintenances",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "CloseMaintenance",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "maintenance id",
                        "name": "maintenance_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/maintenances/{maintenance_id}/executions/{execution_id}/cancel": {
            "post": {
                "description": "cancel a maintenance executions",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "CancelMaintenanceExecution",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "maintenance id",
                        "name": "maintenance_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "execution id",
                        "name": "execution_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/maintenances/{maintenance_id}/executions/{execution_id}/finish": {
            "post": {
                "description": "finish a maintenance executions",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "FinishMaintenanceExecution",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "maintenance id",
                        "name": "maintenance_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "execution id",
                        "name": "execution_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/maintenances/{maintenance_id}/executions/{execution_id}/start": {
            "post": {
                "description": "start a maintenance executions",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "StartMaintenanceExecution",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "maintenance id",
                        "name": "maintenance_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "execution id",
                        "name": "execution_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/migration/dedicate2premium/prechecks": {
            "get": {
                "description": "list dedicated to premium migration prechecks",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ListDedicatedToPremiumPrechecks",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "source_cluster_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.ListDedicatedToPremiumPrechecksResp"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create a dedicated to premium migration precheck",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "CreateDedicatedToPremiumPrecheck",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.CreateDedicatedToPremiumPrecheckReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.DedicatedToPremiumPrecheckResp"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/migration/dedicate2premium/prechecks/{precheck_id}": {
            "get": {
                "description": "get a dedicated to premium migration precheck",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "GetDedicatedToPremiumPrecheck",
                "parameters": [
                    {
                        "type": "string",
                        "description": "precheck id",
                        "name": "precheck_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.DedicatedToPremiumPrecheckResp"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/ops-maintenance-windows": {
            "get": {
                "description": "list cluster ops maintenance windows",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceListClusterOpsMaintenanceWindows",
                "parameters": [
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "cluster_ids",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.ListClusterOpsMaintenanceWindowsResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create a cluster ops maintenance window",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceCreateClusterOpsMaintenanceWindow",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.CreateClusterOpsMaintenanceWindowReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.CreateClusterOpsMaintenanceWindowResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/ops-maintenance-windows/{cluster_id}": {
            "get": {
                "description": "get a cluster ops maintenance window by cluster id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceGetClusterOpsMaintenanceWindow",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.GetClusterOpsMaintenanceWindowResp"
                        }
                    }
                }
            },
            "put": {
                "description": "update a cluster ops maintenance window",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceUpdateClusterOpsMaintenanceWindow",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.UpdateClusterOpsMaintenanceWindowReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.UpdateClusterOpsMaintenanceWindowResp"
                        }
                    }
                }
            },
            "delete": {
                "description": "delete a cluster ops maintenance window",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceDeleteClusterOpsMaintenanceWindow",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/ops-maintenance-windows/{cluster_id}/check": {
            "get": {
                "description": "get a cluster ops maintenance window by cluster id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceIsInClusterOpsMaintenanceWindow",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "collectionFormat": "csv",
                        "description": "ExecuteTimes are execute times as Unix timestamps in seconds. It supports repeated query keys and comma-separated values. If omitted, current server time is used.",
                        "name": "execute_times",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.IsInClusterOpsMaintenanceWindowResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/resource-pools": {
            "get": {
                "description": "list resource pools",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ListResourcePools",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "pagesize",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "resource_pool_id",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "BASIC",
                            "DETAIL"
                        ],
                        "type": "string",
                        "name": "view",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.ListClustersResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/resource-pools/{resource_pool_id}": {
            "get": {
                "description": "get resource pool",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "GetResourcePool",
                "parameters": [
                    {
                        "type": "string",
                        "description": "resource_pool_id",
                        "name": "resource_pool_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.GetClusterResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/shared-resource-pools": {
            "get": {
                "description": "list shared resource pools",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ListSharedResourcePools",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "pagesize",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "resource_pool_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "service_plan",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.ListClustersResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/shared-resource-pools/{resource_pool_id}": {
            "get": {
                "description": "get shared resource pool",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "GetSharedResourcePool",
                "parameters": [
                    {
                        "type": "string",
                        "description": "resource_pool_id",
                        "name": "resource_pool_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.GetClusterResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/traffic/replays": {
            "get": {
                "description": "list replays",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceListTrafficReplays",
                "parameters": [
                    {
                        "type": "string",
                        "name": "cluster_id",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "tenant_id",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.ListTrafficReplaysResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create a replay",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceCreateTrafficReplay",
                "parameters": [
                    {
                        "description": "CreateReplayRequest",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.CreateTrafficReplayRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.CreateTrafficReplayResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/traffic/replays/{replay_id}": {
            "get": {
                "description": "get a replay",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceGetTrafficReplay",
                "parameters": [
                    {
                        "type": "string",
                        "description": "replay id",
                        "name": "replay_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "cluster_id",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "tenant_id",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.GetTrafficReplayResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "put": {
                "description": "update a replay",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceUpdateTrafficReplay",
                "parameters": [
                    {
                        "type": "string",
                        "description": "replay id",
                        "name": "replay_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "UpdateReplayRequest",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.UpdateTrafficReplayRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.UpdateTrafficReplayResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "delete": {
                "description": "delete a replay",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceDeleteTrafficReplay",
                "parameters": [
                    {
                        "type": "string",
                        "description": "replay id",
                        "name": "replay_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "cluster_id",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "tenant_id",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.DeleteTrafficReplayResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/traffic/replays/{replay_id}/start": {
            "post": {
                "description": "start a replay",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceStartTrafficReplay",
                "parameters": [
                    {
                        "type": "string",
                        "description": "replay id",
                        "name": "replay_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "StartReplayRequest",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.StartTrafficReplayRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.StartTrafficReplayResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/cluster/traffic/replays/{replay_id}/stop": {
            "post": {
                "description": "stop a replay",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceStopTrafficReplay",
                "parameters": [
                    {
                        "type": "string",
                        "description": "replay id",
                        "name": "replay_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "StopReplayRequest",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.StopTrafficReplayRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.StopTrafficReplayResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters": {
            "get": {
                "description": "list cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ListClusters",
                "parameters": [
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "cluster_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "deploy_type",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "List Resource Pools instead of custom clusters",
                        "name": "is_resource_pool",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "project_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "service_plan",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "tenant_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.ListClustersResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/k8s-resources": {
            "get": {
                "description": "list k8s resources",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ListK8SResources",
                "parameters": [
                    {
                        "type": "string",
                        "name": "begin_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "cluster_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "namespace",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "region",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8sresource.ListK8SResourcesResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/{cluster_id}": {
            "get": {
                "description": "get cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "GetCluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster_id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.GetClusterResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/{cluster_id}/alert-summary": {
            "get": {
                "description": "get alert summary",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "GetAlertSummary",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "end_ts",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "start_ts",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.GetAlertSummaryResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/{cluster_id}/alerts": {
            "get": {
                "description": "list alerts",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ListAlerts",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "end_ts",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "page_token",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "Major",
                                "Critical"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "priority",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "recovered",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "start_ts",
                        "in": "query",
                        "required": true
                    },
                    {
                        "enum": [
                            "internal",
                            "external"
                        ],
                        "type": "string",
                        "name": "type",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.ListAlertsResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/{cluster_id}/cluster-resources": {
            "get": {
                "description": "list cluster resources",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ListClusterResources",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8sresource.ListClusterResourcesResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/{cluster_id}/components": {
            "get": {
                "description": "get cluster components",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "GetClusterComponents",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster_id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.GetClusterComponentsResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/{cluster_id}/controlplane": {
            "get": {
                "description": "get controlplane k8s resource",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "GetControlplaneK8SResource",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "namespace",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "resource_kind",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "resource_name",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8sresource.GetK8SResourceResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/{cluster_id}/ctl": {
            "post": {
                "description": "execute ctl command on cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterController"
                ],
                "operationId": "ClusterControllerExecCtl",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster_id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.ExecCtlReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.ExecCtlResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/{cluster_id}/dm-ns": {
            "get": {
                "description": "get cluster dm namespace info",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "GetDMNamespace",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.GetDMNamespaceResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/{cluster_id}/hetero-deploy/apply": {
            "post": {
                "description": "apply heterogeneous deploy for a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceApplyHeterogeneousDeploy",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.ApplyHeterogeneousDeployRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.ApplyHeterogeneousDeployResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/{cluster_id}/hetero-deploy/delete": {
            "post": {
                "description": "delete heterogeneous deploy for a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceDeleteHeterogeneousDeploy",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.DeleteHeterogeneousDeployRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.DeleteHeterogeneousDeployResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/{cluster_id}/hetero-deploy/query": {
            "get": {
                "description": "get heterogeneous deploy for a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceGetHeterogeneousDeploy",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "enum": [
                            "tikv",
                            "tidb",
                            "tiflash",
                            "pd",
                            "tiproxy",
                            "ticdc",
                            "cassandra"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ComponentTypeTikv",
                            "ComponentTypeTidb",
                            "ComponentTypeTiflash",
                            "ComponentTypePd",
                            "ComponentTypeTiproxy",
                            "ComponentTypeTicdc",
                            "ComponentTypeCassandra"
                        ],
                        "name": "component_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "tidb_group_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.GetHeterogeneousDeployResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/{cluster_id}/iam-info": {
            "get": {
                "description": "get byoc cluster's cloud IAM info",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "GetCloudIAMInfo",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.GetCloudIAMInfoResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/{cluster_id}/migration/create-migration-cluster": {
            "post": {
                "description": "create a cluster for migration",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceCreateMigrationCluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.CreateMigrationClusterRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.CreateMigrationClusterResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/{cluster_id}/migration/migrate-privatelink": {
            "post": {
                "description": "migrate cluster private link",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ClusterServiceMigratePrivateLink",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.MigratePrivateLinkRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.MigratePrivateLinkResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/{cluster_id}/topology": {
            "get": {
                "description": "get cluster topology",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterController"
                ],
                "operationId": "ClusterControllerGetTopology",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster_id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.GetTopologyResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/{cluster_id}/vpc-peerings": {
            "get": {
                "description": "list vpc peerings",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "ListVPCPeerings",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.ListVPCPeeringsResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create vpc peering",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "CreateVPCPeering",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "CreateVPCPeeringReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.CreateVPCPeeringReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.CommonResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/clusters/{cluster_id}/vpc-peerings/{vpc_peering_id}": {
            "delete": {
                "description": "delete vpc peering",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ClusterService"
                ],
                "operationId": "DeleteVPCPeering",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "vpc peering id",
                        "name": "vpc_peering_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "DeleteVPCPeeringReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.DeleteVPCPeeringReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cluster.CommonResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/configcenter/add": {
            "post": {
                "description": "Add Config Attribute for Some Version",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ConfigCenterService"
                ],
                "operationId": "AddConfigAttribute",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/configcenter.AddAttributeReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/configcenter/copy": {
            "post": {
                "description": "Copy All Config Attribute From Some Version",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ConfigCenterService"
                ],
                "operationId": "CopyAttributeFromVersion",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/configcenter.CopyFromVersionReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/configcenter/list": {
            "get": {
                "description": "List Config Attribute in Some Version",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ConfigCenterService"
                ],
                "operationId": "ListConfigAttribute",
                "parameters": [
                    {
                        "type": "string",
                        "name": "component",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "param_name",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "version",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/configcenter.ListAttributesResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/configcenter/modify": {
            "post": {
                "description": "Modify some attribute",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ConfigCenterService"
                ],
                "operationId": "ModifyAttribute",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/configcenter.ModifyReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/controlplane/deployments": {
            "get": {
                "description": "list deployments",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DeploymentController"
                ],
                "operationId": "DeploymentControllerListDeployments",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "phase",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "scenario",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/controlplane.ListDeploymentResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create a new deployment",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DeploymentController"
                ],
                "operationId": "DeploymentControllerCreateDeployment",
                "parameters": [
                    {
                        "description": "request body",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/controlplane.CreateDeploymentReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/controlplane.CreateDeploymentResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/controlplane/deployments/{deployment_id}": {
            "get": {
                "description": "get a deployment",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DeploymentController"
                ],
                "operationId": "DeploymentControllerGetDeployment",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "deployment id",
                        "name": "deployment_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/controlplane.GetDeploymentResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/controlplane/deployments/{deployment_id}/apply": {
            "post": {
                "description": "start apply workflow for a deployment (after approval)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DeploymentController"
                ],
                "operationId": "DeploymentControllerStartApply",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "deployment id",
                        "name": "deployment_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/controlplane/deployments/{deployment_id}/cancel": {
            "post": {
                "description": "cancel a deployment",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DeploymentController"
                ],
                "operationId": "DeploymentControllerCancel",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "deployment id",
                        "name": "deployment_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/controlplane/deployments/{deployment_id}/preview": {
            "post": {
                "description": "start preview workflow for a deployment",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DeploymentController"
                ],
                "operationId": "DeploymentControllerStartPreview",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "deployment id",
                        "name": "deployment_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/controlplane.StartPreviewResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/controlplane/deployments/{deployment_id}/retry": {
            "post": {
                "description": "retry a failed apply using the same frozen snapshot",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DeploymentController"
                ],
                "operationId": "DeploymentControllerRetryApply",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "deployment id",
                        "name": "deployment_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/dashboard/cloud-oncall": {
            "get": {
                "description": "get cloud oncall info",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DashboardService"
                ],
                "operationId": "GetCloudOncallInfo",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "endTs",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "startTs",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dashboard.CloudOncallInfoResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/dashboard/critical-alert": {
            "get": {
                "description": "get critical alert info",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DashboardService"
                ],
                "operationId": "GetCriticalAlertInfo",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "endTs",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "startTs",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dashboard.CriticalAlertInfoResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/dashboard/incident": {
            "get": {
                "description": "get incident info",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DashboardService"
                ],
                "operationId": "GetIncidentInfo",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "endTs",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "startTs",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dashboard.IncidentInfoResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/dashboard/release": {
            "get": {
                "description": "get release info",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DashboardService"
                ],
                "operationId": "GetReleaseInfo",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "endTs",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "startTs",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dashboard.ReleaseInfoResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/dashboard/sla": {
            "get": {
                "description": "get sla info",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DashboardService"
                ],
                "operationId": "GetSLAInfo",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "endTs",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "startTs",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dashboard.SLAInfoResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/dashboard/sla-dedicated-detail": {
            "get": {
                "description": "get cluster detail of dedicated sla",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DashboardService"
                ],
                "operationId": "GetClusterDetailOfDedicatedSLA",
                "parameters": [
                    {
                        "type": "string",
                        "name": "clusterID",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "name": "includeFake",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "month",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dashboard.GetClusterDetailOfDedicatedSLAResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/dashboard/sla-dedicated-monthly": {
            "get": {
                "description": "get monthly summary of dedicated sla",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DashboardService"
                ],
                "operationId": "GetMonthlySummaryOfDedicatedSLA",
                "parameters": [
                    {
                        "type": "boolean",
                        "name": "includeDeleted",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "month",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "perfect",
                                "warning",
                                "breach"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "single",
                            "multi"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "TiDBInstanceSingle",
                            "TiDBInstanceMulti"
                        ],
                        "name": "tidbInstanceMode",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dashboard.GetMonthlySummaryOfDedicatedSLAResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/dashboard/sla-next-gen-detail": {
            "get": {
                "description": "get cluster detail of next-gen sla",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DashboardService"
                ],
                "operationId": "GetClusterDetailOfNextGenSLA",
                "parameters": [
                    {
                        "type": "string",
                        "name": "clusterID",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "name": "includeFake",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "month",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dashboard.GetClusterDetailOfNextGenSLAResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/dashboard/sla-next-gen-monthly": {
            "get": {
                "description": "get monthly summary of next-gen sla",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DashboardService"
                ],
                "operationId": "GetMonthlySummaryOfNextGenSLA",
                "parameters": [
                    {
                        "enum": [
                            "premium",
                            "byoc"
                        ],
                        "type": "string",
                        "name": "clusterDeployType",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "includeDeleted",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "month",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "perfect",
                                "warning",
                                "breach"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "status",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dashboard.GetMonthlySummaryOfNextGenSLAResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/dashboard/slo": {
            "get": {
                "description": "get slo info",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DashboardService"
                ],
                "operationId": "GetSLOInfo",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dashboard.SLOInfoResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/dashboard/top-qps-tenants": {
            "get": {
                "description": "get top10 qps tenants",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DashboardService"
                ],
                "operationId": "GetTop10QPSTenants",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dashboard.GetTop10QPSTenantsResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/dashboard/top-tiflash-storage-tenants": {
            "get": {
                "description": "get top10 tiflash storage tenants",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DashboardService"
                ],
                "operationId": "GetTop10TiFlashStorageTenants",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dashboard.GetTop10TiFlashStorageTenantsResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/dashboard/top-tikv-storage-tenants": {
            "get": {
                "description": "get top10 tikv storage tenants",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DashboardService"
                ],
                "operationId": "GetTop10TiKVStorageTenants",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dashboard.GetTop10TiKVStorageTenantsResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/feature-wl": {
            "get": {
                "description": "list feature whitelists",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "FeatureWhitelistController"
                ],
                "operationId": "FeatureWhitelistControllerListFeatureWhitelists",
                "parameters": [
                    {
                        "type": "string",
                        "name": "name",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/feature_wl.ListFeatureWhitelistsResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create feature whitelist",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "FeatureWhitelistController"
                ],
                "operationId": "FeatureWhitelistControllerCreateFeatureWhitelist",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/feature_wl.FeatureWhitelistInfo"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/feature-wl/{name}": {
            "put": {
                "description": "update feature whitelist",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "FeatureWhitelistController"
                ],
                "operationId": "FeatureWhitelistControllerUpdateFeatureWhitelist",
                "parameters": [
                    {
                        "type": "string",
                        "description": "feature name",
                        "name": "name",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/feature_wl.FeatureWhitelistInfo"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "delete": {
                "description": "delete feature whitelist",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "FeatureWhitelistController"
                ],
                "operationId": "FeatureWhitelistControllerDeleteFeatureWhitelist",
                "parameters": [
                    {
                        "type": "string",
                        "description": "feature name",
                        "name": "name",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/github/pulls": {
            "get": {
                "description": "list pull requests.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "GithubController"
                ],
                "operationId": "GithubControllerListPullRequests",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "pr_locations",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "repo_location",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/github.ListPullRequestsResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/github/pulls/{owner}/{repo}/{pr_number}": {
            "get": {
                "description": "get a pull request.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "GithubController"
                ],
                "operationId": "GithubControllerGetPullRequest",
                "parameters": [
                    {
                        "type": "string",
                        "description": "owner name",
                        "name": "owner",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "repo name",
                        "name": "repo",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "pr number",
                        "name": "pr_number",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/github.GetPullRequestResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/github/raw/repos/{owner}/{repo}/labels": {
            "get": {
                "description": "list labels of a repo from github directly",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "GithubController"
                ],
                "operationId": "GithubControllerRawListLabels",
                "parameters": [
                    {
                        "type": "string",
                        "description": "owner name",
                        "name": "owner",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "repo name",
                        "name": "repo",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "cursor",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/github.RawListLabelsResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/github/raw/repos/{owner}/{repo}/labels/{label_name}": {
            "get": {
                "description": "get a label from github directly",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "GithubController"
                ],
                "operationId": "GithubControllerRawGetLabel",
                "parameters": [
                    {
                        "type": "string",
                        "description": "owner name",
                        "name": "owner",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "repo name",
                        "name": "repo",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "label name",
                        "name": "label_name",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/github.RawGetLabelResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/github/raw/repos/{owner}/{repo}/pulls": {
            "get": {
                "description": "list pull requests from github directly",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "GithubController"
                ],
                "operationId": "GithubControllerRawListPullRequests",
                "parameters": [
                    {
                        "type": "string",
                        "description": "owner name",
                        "name": "owner",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "repo name",
                        "name": "repo",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "cursor",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "labels",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/github.RawListPullRequestsResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/github/raw/repos/{owner}/{repo}/pulls/{pr_number}": {
            "get": {
                "description": "get a pull request from github directly",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "GithubController"
                ],
                "operationId": "GithubControllerRawGetPullRequest",
                "parameters": [
                    {
                        "type": "string",
                        "description": "owner name",
                        "name": "owner",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "repo name",
                        "name": "repo",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "pr number",
                        "name": "pr_number",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/github.RawGetPullRequestResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/github/raw/repos/{owner}/{repo}/releases": {
            "get": {
                "description": "list releases from github directly",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "GithubController"
                ],
                "operationId": "GithubControllerRawListReleases",
                "parameters": [
                    {
                        "type": "string",
                        "description": "owner name",
                        "name": "owner",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "repo name",
                        "name": "repo",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "cursor",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/github.RawListReleasesResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/github/raw/repos/{owner}/{repo}/releases/diff": {
            "get": {
                "description": "get pull requests between two releases from github directly",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "GithubController"
                ],
                "operationId": "GithubControllerRawDiffRelease",
                "parameters": [
                    {
                        "type": "string",
                        "description": "owner name",
                        "name": "owner",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "repo name",
                        "name": "repo",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "prev",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "target",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/github.RawDiffReleaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/github/raw/repos/{owner}/{repo}/releases/{release_tag}": {
            "get": {
                "description": "get a release from github directly",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "GithubController"
                ],
                "operationId": "GithubControllerRawGetRelease",
                "parameters": [
                    {
                        "type": "string",
                        "description": "owner name",
                        "name": "owner",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "repo name",
                        "name": "repo",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "the tag name",
                        "name": "release_tag",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/github.RawGetReleaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/github/repos": {
            "get": {
                "description": "list repositories of an org",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "GithubController"
                ],
                "operationId": "GithubControllerListRepositories",
                "parameters": [
                    {
                        "type": "string",
                        "name": "location_like",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "owners",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/github.ListRepositoriesResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/github/repos/{owner}/{repo}": {
            "get": {
                "description": "get a repo",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "GithubController"
                ],
                "operationId": "GithubControllerGetRepo",
                "parameters": [
                    {
                        "type": "string",
                        "description": "owner name",
                        "name": "owner",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "repo name",
                        "name": "repo",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/github.GetRepositoryResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/incidents": {
            "get": {
                "description": "list incidents",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "ListIncidents",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "page size",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "war room ID",
                        "name": "war_room_id",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "running",
                            "completed"
                        ],
                        "type": "string",
                        "description": "incident status",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "t0",
                            "t1",
                            "t2",
                            "t3",
                            "t4"
                        ],
                        "type": "string",
                        "description": "incident tier",
                        "name": "tier",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "components that every incident must contain",
                        "name": "components",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "business regions that every incident must contain",
                        "name": "biz_regions",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.ListIncidentsResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create Incident",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "CreateIncident",
                "parameters": [
                    {
                        "description": "request",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/incident.CreateIncidentReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.CreateIncidentResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/incidents/component_options": {
            "get": {
                "description": "get incident component options",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "GetIncidentComponentOptions",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.GetIncidentComponentOptionsResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/incidents/{incident_id}": {
            "get": {
                "description": "get incident",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "GetIncident",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.Incident"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "put": {
                "description": "update incident",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "UpdateIncident",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/incident.UpdateIncidentReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.UpdateIncidentResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "delete": {
                "description": "delete incident",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "DeleteIncident",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.DeleteIncidentResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/incidents/{incident_id}/log/{log_item_id}": {
            "put": {
                "description": "update incident log item",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "UpdateIncidentLogItem",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "log item id",
                        "name": "log_item_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/entity.IncidentLogItem"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.EmptyResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/incidents/{incident_id}/logs": {
            "get": {
                "description": "list incident logs",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "ListIncidentLogs",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.ListIncidentLogsResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create Incident log item",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "CreateIncidentLogItem",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/entity.IncidentLogItem"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.EmptyResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/incidents/{incident_id}/logs/{log_item_id}": {
            "get": {
                "description": "get incident log item",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "GetIncidentLogItem",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "log item id",
                        "name": "log_item_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.IncidentLogItem"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "delete": {
                "description": "delete incident log item",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "DeleteIncidentLogItem",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "log item id",
                        "name": "log_item_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.DeleteIncidentLogItemResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/incidents/{incident_id}/postmortem/todoactions/import": {
            "post": {
                "description": "import todo actions from the incident's existing postmortem Feishu document",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "ImportIncidentPostMortemToDoActions",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "description": "force import even when todo actions already exist",
                        "name": "force",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.ImportIncidentPostMortemToDoActionsResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/incidents/{incident_id}/postmortems": {
            "get": {
                "description": "list incident postmortem items",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "ListIncidentPostMortemItems",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "postmortem id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.ListIncidentPostMortemItemsResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create incident postmortem",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "CreateIncidentPostMortem",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "CreateIncidentPostMortemReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/incident.CreateIncidentPostMortemReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.CreateIncidentPostMortemResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}": {
            "get": {
                "description": "get incident postmortem",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "GetIncidentPostMortem",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "postmortem id",
                        "name": "postmortem_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.GetIncidentPostMortemResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "update incident postmortem",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "UpdateIncidentPostMortem",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "postmortem id",
                        "name": "postmortem_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "UpdateIncidentPostMortemReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/incident.UpdateIncidentPostMortemReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.UpdateIncidentPostMortemResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "delete": {
                "description": "delete incident postmortem",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "DeleteIncidentPostMortem",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "postmortem id",
                        "name": "postmortem_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.DeleteIncidentPostMortemResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}/timelines": {
            "get": {
                "description": "list incident postmortem timelines",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "ListIncidentPostMortemTimelines",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "postmortem id",
                        "name": "postmortem_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.ListIncidentPostMortemTimelinesResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create incident postmortem timeline",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "CreateIncidentPostMortemTimeline",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "postmortem id",
                        "name": "postmortem_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "CreateIncidentPostMortemTimelineReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/incident.CreateIncidentPostMortemTimelineReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.CreateIncidentPostMortemTimelineResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}/timelines/{timeline_id}": {
            "get": {
                "description": "get incident postmortem timeline",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "GetIncidentPostMortemTimeline",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "postmortem id",
                        "name": "postmortem_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "timeline id",
                        "name": "timeline_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.GetIncidentPostMortemTimelineResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "update incident postmortem timeline",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "UpdateIncidentPostMortemTimeline",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "postmortem id",
                        "name": "postmortem_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "action id",
                        "name": "timeline_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "UpdateIncidentPostMortemTimelineReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/incident.UpdateIncidentPostMortemTimelineReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.UpdateIncidentPostMortemTimelineResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "delete": {
                "description": "delete incident postmortem timeline",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "DeleteIncidentPostMortemTimeline",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "postmortem id",
                        "name": "postmortem_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "timeline id",
                        "name": "timeline_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.DeleteIncidentPostMortemTimelineResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}/todoactions": {
            "get": {
                "description": "list incident postmortem todo actions",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "ListIncidentPostMortemToDoActions",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "postmortem id",
                        "name": "postmortem_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.ListIncidentPostMortemToDoActionsResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create incident postmortem todo action",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "CreateIncidentPostMortemToDoAction",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "postmortem id",
                        "name": "postmortem_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "CreateIncidentPostMortemToDoActionReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/incident.CreateIncidentPostMortemToDoActionReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.CreateIncidentPostMortemToDoActionResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}/todoactions/sync": {
            "post": {
                "description": "sync incident postmortem todo action status from TCOCP",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "SyncIncidentPostMortemToDoActionStatus",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "postmortem id",
                        "name": "postmortem_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/incidents/{incident_id}/postmortems/{postmortem_id}/todoactions/{action_id}": {
            "get": {
                "description": "get incident postmortem todo action",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "GetIncidentPostMortemToDoAction",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "postmortem id",
                        "name": "postmortem_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "action id",
                        "name": "action_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.GetIncidentPostMortemToDoActionResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "update incident postmortem todo action",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "UpdateIncidentPostMortemToDoAction",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "postmortem id",
                        "name": "postmortem_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "action id",
                        "name": "action_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "UpdateIncidentPostMortemToDoActionReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/incident.UpdateIncidentPostMortemToDoActionReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.UpdateIncidentPostMortemToDoActionResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "delete": {
                "description": "delete incident postmortem todo action",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "IncidentService"
                ],
                "operationId": "DeleteIncidentPostMortemToDoAction",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "incident id",
                        "name": "incident_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "postmortem id",
                        "name": "postmortem_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "action id",
                        "name": "action_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/incident.DeleteIncidentPostMortemToDoActionResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jira/issue/jira_issues": {
            "get": {
                "description": "list issues from jira",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JiraController"
                ],
                "operationId": "JiraControllerListIssuesFromJira",
                "parameters": [
                    {
                        "type": "string",
                        "name": "jql",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "page_token",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 50,
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "default": false,
                        "name": "with_comment",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/jira.ListIssuesFromJiraResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jira/issue/jira_issues/{key}": {
            "get": {
                "description": "get issue from jira",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JiraController"
                ],
                "operationId": "JiraControllerGetIssueFromJira",
                "parameters": [
                    {
                        "type": "string",
                        "description": "issue key",
                        "name": "key",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "default": false,
                        "name": "with_comments",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/jira.GetIssueFromJiraResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jira/issue/repo_issues": {
            "post": {
                "description": "store issue into local repo by key",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JiraController"
                ],
                "operationId": "JiraControllerSyncIssueSnapshotByKey",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/jira.SyncIssueSnapshotByKeyRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/jira.SyncIssueSnapshotByKeyResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jira/issue/repo_issues/batch": {
            "post": {
                "description": "store issues into local repo by JQL",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JiraController"
                ],
                "operationId": "JiraControllerSyncIssueSnapshotByJQL",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/jira.SyncIssueSnapshotByJQLRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/jira.SyncIssueSnapshotByJQLResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jira/issue/repo_issues/timeline_summary": {
            "post": {
                "description": "set issue timeline summary",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JiraController"
                ],
                "operationId": "JiraControllerSetTimelineSummary",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/jira.SetIssueTimelineSummaryRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jira/issue/repo_issues/triage": {
            "post": {
                "description": "upsert issue triage",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JiraController"
                ],
                "operationId": "JiraControllerUpsertIssueTriage",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/jira.UpsertIssueTriageRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jira/issue/repo_issues/triage/tag_definitions": {
            "get": {
                "description": "list issue triage tags",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JiraController"
                ],
                "operationId": "JiraControllerListIssueTriageTags",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/jira.ListIssueTriageTagDefinitionsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/jira.ListIssueTriageTagDefinitionsResponse"
                        }
                    }
                }
            },
            "post": {
                "description": "create a issue triage tag",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JiraController"
                ],
                "operationId": "JiraControllerCreateIssueTriageTagDefinition",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/jira.CreateIssueTriageTagDefinitionRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/jira.CreateIssueTriageTagDefinitionResponse"
                        }
                    }
                }
            },
            "delete": {
                "description": "delete a issue triage tag",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JiraController"
                ],
                "operationId": "JiraControllerDeleteIssueTriageTagDefinition",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/jira.DeleteIssueTriageTagDefinitionRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jira/issue/unified_issues": {
            "get": {
                "description": "list issues from local repo",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JiraController"
                ],
                "operationId": "JiraControllerListUnifiedIssues",
                "parameters": [
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "cluster_id_in",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "component_in",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "created_after",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "created_before",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "customer_env_is",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "have_timeline_summary",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "have_triage",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "issue_key_in",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "project_in",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "status_in",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "tenant_id_in",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "with_jira",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "with_jira_comments",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "with_timeline_summary",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "with_triage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/jira.ListUnifiedIssuesResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jira/issue/unified_issues/search": {
            "post": {
                "description": "list issues from local repo",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JiraController"
                ],
                "operationId": "JiraControllerListUnifiedIssuesAdvanced",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/jira.ListUnifiedIssuesRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/jira.ListUnifiedIssuesResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jira/issue/unified_issues/{key}": {
            "get": {
                "description": "get issue from local repo by key",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JiraController"
                ],
                "operationId": "JiraControllerGetUnifiedIssue",
                "parameters": [
                    {
                        "type": "string",
                        "description": "issue key",
                        "name": "key",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "default": false,
                        "name": "with_timeline_summary",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "default": false,
                        "name": "with_triage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/jira.GetUnifiedIssueResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jump-admin/invite-user": {
            "post": {
                "description": "init a user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JumpController"
                ],
                "operationId": "JumpControllerInviteUser",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/jump.InviteUserReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/jump.InviteUserResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jump/authorizations": {
            "get": {
                "description": "list authorizations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JumpController"
                ],
                "operationId": "JumpControllerListAuthorizations",
                "parameters": [
                    {
                        "type": "string",
                        "name": "applicant",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "destination_id_like",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "unspecified",
                            "controlplane",
                            "dedicated",
                            "serverless",
                            "byoc",
                            "premium",
                            "premium_resource_pool"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "DestinationTypeUnspecified",
                            "DestinationTypeControlPlane",
                            "DestinationTypeDedicated",
                            "DestinationTypeServerless",
                            "DestinationTypeByoc",
                            "DestinationTypePremium",
                            "DestinationTypePremiumResourcePool"
                        ],
                        "name": "destination_type_is",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "initialized",
                            "approving",
                            "creating",
                            "created",
                            "expired",
                            "notapproved",
                            "canceled"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "AuthorizationPhaseInitialized",
                            "AuthorizationPhaseApproving",
                            "AuthorizationPhaseCreating",
                            "AuthorizationPhaseCreated",
                            "AuthorizationPhaseExpired",
                            "AuthorizationPhaseNotApproved",
                            "AuthorizationPhaseCanceled"
                        ],
                        "name": "phase",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "show_unaccessible",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "type",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/jump.ListAuthorizationsResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create an authorization",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JumpController"
                ],
                "operationId": "JumpControllerCreateInstance",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/jump.CreateAuthorizationReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/jump.CreateAuthorizationResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jump/authorizations/{authorization_id}": {
            "get": {
                "description": "get an authorization",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JumpController"
                ],
                "operationId": "JumpControllerGetAuthorization",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "authorization name",
                        "name": "authorization_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/jump.GetAuthorizationResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jump/authorizations/{authorization_id}/cancel": {
            "post": {
                "description": "cancel an authorization",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JumpController"
                ],
                "operationId": "JumpControllerCancelAuthorization",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "authorization id",
                        "name": "authorization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/jump.CancelAuthorizationReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jump/authorizations/{authorization_id}/connection": {
            "get": {
                "description": "get connect jump pod params",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JumpController"
                ],
                "operationId": "JumpControllerGetConnection",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "authorization id",
                        "name": "authorization_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "enum": [
                            "web_terminal",
                            "ssh",
                            "gateway"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ConnectionMethodWebTerminal",
                            "ConnectionMethodSSH",
                            "ConnectionMethodGateway"
                        ],
                        "name": "method",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/jump.GetConnectionResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jump/destination/{destination_type}": {
            "get": {
                "description": "list available destinations of a destination type",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JumpController"
                ],
                "operationId": "JumpControllerListAvailableDestinations",
                "parameters": [
                    {
                        "type": "string",
                        "description": "destination type",
                        "name": "destination_type",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/jump.ListAvailableDestinationsResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jump/jumpserver/users/activate": {
            "post": {
                "description": "activate the applicant in the jump server.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JumpController"
                ],
                "operationId": "JumpControllerActivateUserOfApplicant",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jump/jumpserver/users/me": {
            "get": {
                "description": "get the applicant from the jump server.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JumpController"
                ],
                "operationId": "JumpControllerGetUserOfApplicant",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/jump.GetUserResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/jump/jumpserver/users/{email}": {
            "get": {
                "description": "get the user from the jump server.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "JumpController"
                ],
                "operationId": "JumpControllerGetUser",
                "parameters": [
                    {
                        "type": "string",
                        "description": "user email",
                        "name": "email",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/jump.GetUserResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/k8sCalendar/lifecycles": {
            "get": {
                "description": "list k8s version lifecycles",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "K8sCalendarService"
                ],
                "operationId": "K8sCalendarControllerListLifecycles",
                "parameters": [
                    {
                        "type": "string",
                        "name": "cloud_provider",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8scalendar.ListLifecyclesResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/k8sCalendar/resetNotificationFlags": {
            "post": {
                "description": "reset notification markers for a k8s version lifecycle (by cloud and version)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "K8sCalendarService"
                ],
                "operationId": "K8sCalendarControllerResetNotificationFlags",
                "parameters": [
                    {
                        "description": "ResetNotificationFlagsReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/k8scalendar.ResetNotificationFlagsReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/k8sCalendar/syncNow": {
            "post": {
                "description": "force sync k8s version calendar from cloud providers",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "K8sCalendarService"
                ],
                "operationId": "K8sCalendarControllerSyncNow",
                "parameters": [
                    {
                        "description": "SyncNowReq",
                        "name": "req",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/k8scalendar.SyncNowReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/k8sUpgradePlans": {
            "get": {
                "description": "list k8s upgrade plans",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "K8sUpgradePlanService"
                ],
                "operationId": "K8sUpgradePlanControllerListPlans",
                "parameters": [
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "cloud_providers",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "eos_versions",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "statuses",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8supgradeplan.ListPlansResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create a k8s upgrade plan",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "K8sUpgradePlanService"
                ],
                "operationId": "K8sUpgradePlanControllerCreatePlan",
                "parameters": [
                    {
                        "description": "CreatePlanReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/k8supgradeplan.CreatePlanReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8supgradeplan.CreatePlanResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/k8sUpgradePlans/{plan_id}": {
            "get": {
                "description": "get a k8s upgrade plan",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "K8sUpgradePlanService"
                ],
                "operationId": "K8sUpgradePlanControllerGetPlan",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "plan id",
                        "name": "plan_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/k8supgradeplan.GetPlanResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "put": {
                "description": "update a k8s upgrade plan",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "K8sUpgradePlanService"
                ],
                "operationId": "K8sUpgradePlanControllerUpdatePlan",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "plan id",
                        "name": "plan_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "UpdatePlanReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/k8supgradeplan.UpdatePlanReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/k8sUpgradePlans/{plan_id}/cancel": {
            "post": {
                "description": "cancel a k8s upgrade plan",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "K8sUpgradePlanService"
                ],
                "operationId": "K8sUpgradePlanControllerCancelPlan",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "plan id",
                        "name": "plan_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/k8sUpgradePlans/{plan_id}/schedule": {
            "post": {
                "description": "schedule a k8s upgrade plan",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "K8sUpgradePlanService"
                ],
                "operationId": "K8sUpgradePlanControllerSchedulePlan",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "plan id",
                        "name": "plan_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "SchedulePlanReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/k8supgradeplan.SchedulePlanReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/k8sUpgradePlans/{plan_id}/triggerNow": {
            "post": {
                "description": "trigger a k8s upgrade plan immediately",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "K8sUpgradePlanService"
                ],
                "operationId": "K8sUpgradePlanControllerTriggerNow",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "plan id",
                        "name": "plan_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/kernel-images/build-callback": {
            "post": {
                "description": "accept an idempotent callback, store a batch of successfully built image artifacts, and create one DeliverKernelImage operation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "KernelImageService"
                ],
                "operationId": "KernelImageControllerBuildCallback",
                "parameters": [
                    {
                        "description": "build callback",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/kernelimage.BuildCallbackReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/kernelimage.BuildCallbackResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/kernel-images/releases": {
            "get": {
                "description": "list local kernel image release records",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "KernelImageService"
                ],
                "operationId": "KernelImageControllerListReleases",
                "parameters": [
                    {
                        "type": "boolean",
                        "name": "masked",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "repository",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "statuses",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "version",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/kernelimage.ListReleasesResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/kernel-images/releases/{artifact_uid}": {
            "get": {
                "description": "get a local kernel image release by artifact UID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "KernelImageService"
                ],
                "operationId": "KernelImageControllerGetRelease",
                "parameters": [
                    {
                        "type": "string",
                        "description": "artifact UID",
                        "name": "artifact_uid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/kernelimage.GetReleaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/kernel-images/releases/{artifact_uid}/availability-check": {
            "post": {
                "description": "start an asynchronous registry availability check for every FID delivery target of a release",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "KernelImageService"
                ],
                "operationId": "KernelImageControllerRefreshAvailability",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Artifact UID",
                        "name": "artifact_uid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/kernelimage.GetReleaseResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/kernel-images/selection": {
            "get": {
                "description": "calculate the local M x N kernel image selection",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "KernelImageService"
                ],
                "operationId": "KernelImageControllerGetSelection",
                "parameters": [
                    {
                        "type": "string",
                        "name": "cluster_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "component",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/kernelimage.SelectionResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/message/email/records": {
            "get": {
                "description": "list email records",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "MessageController"
                ],
                "operationId": "MessageControllerListEmailRecords",
                "parameters": [
                    {
                        "type": "string",
                        "name": "from_address_is",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "reason_like",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/message.ListEmailRecordsResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/message/email/records/{record_id}": {
            "get": {
                "description": "get a email record",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "MessageController"
                ],
                "operationId": "MessageControllerGetEmailRecord",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "id",
                        "name": "record_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/message.GetEmailRecordResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/message/email/send": {
            "post": {
                "description": "send email",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "MessageController"
                ],
                "operationId": "MessageControllerSendEmail",
                "parameters": [
                    {
                        "description": "request",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.SendEmailRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/message/email/send_batch": {
            "post": {
                "description": "send emails batch",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "MessageController"
                ],
                "operationId": "MessageControllerSendEmailBatch",
                "parameters": [
                    {
                        "description": "request",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.SendEmailBatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/message.SendEmailBatchResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/mgmt-portal/skus/{sku_id}": {
            "patch": {
                "description": "path a sku",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "MgmtPortalController"
                ],
                "operationId": "PatchSku",
                "parameters": [
                    {
                        "type": "string",
                        "description": "sku_id",
                        "name": "sku_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "schema": {
                            "type": "object"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/mgmtportal.CommonResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/mgmt-portal/spus/{spu_id}": {
            "patch": {
                "description": "path a spu",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "MgmtPortalController"
                ],
                "operationId": "PatchSpu",
                "parameters": [
                    {
                        "type": "string",
                        "description": "spu_id",
                        "name": "spu_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "schema": {
                            "type": "object"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/mgmtportal.CommonResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/monitoring/component-diff/reports": {
            "post": {
                "description": "generate component diff reports",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "MonitoringController"
                ],
                "operationId": "MonitoringControllerPostComponentDiffReport",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/monitoring/component-diff/reports/{type}": {
            "get": {
                "description": "list component diff reports",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "MonitoringController"
                ],
                "operationId": "MonitoringControllerListComponentDiffReports",
                "parameters": [
                    {
                        "type": "string",
                        "description": "type",
                        "name": "type",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/monitoring.ListReportsResponse"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/monitoring/component-diff/reports/{type}/{name}": {
            "get": {
                "description": "get component diff report by name",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "MonitoringController"
                ],
                "operationId": "MonitoringControllerGetComponentDiffReport",
                "parameters": [
                    {
                        "type": "string",
                        "description": "type",
                        "name": "type",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "name",
                        "name": "name",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/monitoring.GetReportResponse"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/o11y/clusters": {
            "get": {
                "description": "list clusters",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "O11yController"
                ],
                "operationId": "O11yControllerListClusters",
                "parameters": [
                    {
                        "type": "string",
                        "name": "application_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "orgID",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "project_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "region",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "vendor",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/o11y.ListClustersResponse"
                        }
                    }
                }
            },
            "post": {
                "description": "create a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "O11yController"
                ],
                "operationId": "O11yControllerCreateCluster",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/o11y.CreateClusterRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/o11y.CreateClusterResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/o11y/clusters/{id}": {
            "get": {
                "description": "get clusters",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "O11yController"
                ],
                "operationId": "O11yControllerGetCluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "id",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "orgID",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "region",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "vendor",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/o11y.GetClusterResponse"
                        }
                    }
                }
            },
            "delete": {
                "description": "delete a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "O11yController"
                ],
                "operationId": "O11yControllerDeleteCluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "id",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/o11y.DeleteClusterRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/o11y.DeleteClusterResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/operation/actions": {
            "get": {
                "description": "list actions",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "OperationController"
                ],
                "operationId": "OperationControllerListActions",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/operation.ListActionResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/operation/actions/{action_name}": {
            "get": {
                "description": "get a action",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "OperationController"
                ],
                "operationId": "OperationControllerGetAction",
                "parameters": [
                    {
                        "type": "string",
                        "description": "action name",
                        "name": "action_name",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/operation.GetActionResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/operation/instances": {
            "get": {
                "description": "list instances",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "OperationController"
                ],
                "operationId": "OperationControllerListInstances",
                "parameters": [
                    {
                        "type": "string",
                        "name": "applicant",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "create_after",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "create_before",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "operation",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "draft",
                            "created",
                            "approving",
                            "withdrawn",
                            "pending",
                            "running",
                            "succeeded",
                            "failed",
                            "canceled"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "InstancePhaseDraft",
                            "InstancePhaseCreated",
                            "InstancePhaseApproving",
                            "InstancePhaseWithdrawn",
                            "InstancePhasePending",
                            "InstancePhaseRunning",
                            "InstancePhaseSucceeded",
                            "InstancePhaseFailed",
                            "InstancePhaseCanceled"
                        ],
                        "name": "phase",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "target_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "type",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/operation.ListInstanceResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create a instance",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "OperationController"
                ],
                "operationId": "OperationControllerCreateInstance",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/operation.CreateInstanceReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/operation.CreateInstanceResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/operation/instances/preview": {
            "post": {
                "description": "preview a instance: runs PreCheck and returns advisories without creating",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "OperationController"
                ],
                "operationId": "OperationControllerPreviewInstance",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/operation.CreateInstanceReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/operation.PreviewInstanceResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/operation/instances/{instance_id}": {
            "get": {
                "description": "get a instance",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "OperationController"
                ],
                "operationId": "OperationControllerGetInstance",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "instance id",
                        "name": "instance_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/operation.GetInstanceResp"
                        }
                    }
                }
            },
            "patch": {
                "description": "update a instance",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "OperationController"
                ],
                "operationId": "OperationControllerUpdateInstance",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "instance id",
                        "name": "instance_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/operation.UpdateInstanceReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/operation/instances/{instance_id}/actions/{action_order}/finish": {
            "post": {
                "description": "finish a instance action",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "OperationController"
                ],
                "operationId": "OperationControllerFinishInstanceAction",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "instance id",
                        "name": "instance_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "instance action order",
                        "name": "action_order",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/operation.FinishInstanceActionReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/operation/instances/{instance_id}/actions/{action_order}/start": {
            "post": {
                "description": "start a instance action maunally",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "OperationController"
                ],
                "operationId": "OperationControllerStartInstanceAction",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "instance id",
                        "name": "instance_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "instance action order",
                        "name": "action_order",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/operation/instances/{instance_id}/cancel": {
            "post": {
                "description": "cancel a instance",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "OperationController"
                ],
                "operationId": "OperationControllerCancelInstance",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "instance id",
                        "name": "instance_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/operation/instances/{instance_id}/submit": {
            "post": {
                "description": "submit a instance",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "OperationController"
                ],
                "operationId": "OperationControllerSubmitInstance",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "instance id",
                        "name": "instance_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/operation/operations": {
            "get": {
                "description": "list operations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "OperationController"
                ],
                "operationId": "OperationControllerListOperations",
                "parameters": [
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "description": "filter by categories",
                        "name": "categories",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "cluster",
                            "tenant",
                            "project",
                            "user",
                            "region",
                            "resource_pool",
                            "undefined"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "OperationTargetCluster",
                            "OperationTargetTenant",
                            "OperationTargetProject",
                            "OperationTargetUser",
                            "OperationTargetRegion",
                            "OperationTargetResourcePool",
                            "OperationTargetUndefined"
                        ],
                        "description": "filter by target",
                        "name": "target",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/operation.ListOperationResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/operation/operations/categories": {
            "get": {
                "description": "list operation categories",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "OperationController"
                ],
                "operationId": "OperationControllerListOperationCategories",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/operation.ListOperationCategoryResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/operation/operations/{operation_name}": {
            "get": {
                "description": "get a operation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "OperationController"
                ],
                "operationId": "OperationControllerGetOperation",
                "parameters": [
                    {
                        "type": "string",
                        "description": "operation name",
                        "name": "operation_name",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "description": "inject param into operation",
                        "name": "inject_param",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "service plan for param injection",
                        "name": "service_plan",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "target id",
                        "name": "target_id",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "cluster",
                            "tenant",
                            "project",
                            "user",
                            "region",
                            "resource_pool",
                            "undefined"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "OperationTargetCluster",
                            "OperationTargetTenant",
                            "OperationTargetProject",
                            "OperationTargetUser",
                            "OperationTargetRegion",
                            "OperationTargetResourcePool",
                            "OperationTargetUndefined"
                        ],
                        "description": "target type",
                        "name": "target_type",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/operation.GetOperationResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/premiumUpgradePlans": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "PremiumUpgradeService"
                ],
                "operationId": "PremiumUpgradeControllerListPlans",
                "parameters": [
                    {
                        "type": "string",
                        "name": "applicant",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "statuses",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "tenant_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/premiumupgrade.ListPlansResp"
                        }
                    }
                }
            },
            "post": {
                "description": "Create one immutable Premium upgrade plan and one aggregate approval",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "PremiumUpgradeService"
                ],
                "operationId": "PremiumUpgradeControllerCreatePlan",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Idempotency key",
                        "name": "Idempotency-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "CreatePlanReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/premiumupgrade.CreatePlanReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/premiumupgrade.CreatePlanResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/premiumUpgradePlans/componentPolicies": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "PremiumUpgradeService"
                ],
                "operationId": "PremiumUpgradeControllerListComponentPolicies",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/premiumupgrade.ListComponentPoliciesResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/premiumUpgradePlans/preview": {
            "post": {
                "description": "Resolve Premium cluster locators, components and fixed execution order",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "PremiumUpgradeService"
                ],
                "operationId": "PremiumUpgradeControllerPreviewPlan",
                "parameters": [
                    {
                        "description": "PreviewPlanReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/premiumupgrade.PreviewPlanReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/premiumupgrade.PreviewPlanResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/premiumUpgradePlans/targetConflicts": {
            "post": {
                "description": "Check whether selected Premium clusters already belong to active upgrade plans",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "PremiumUpgradeService"
                ],
                "operationId": "PremiumUpgradeControllerCheckTargetConflicts",
                "parameters": [
                    {
                        "description": "CheckTargetConflictsReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/premiumupgrade.CheckTargetConflictsReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/premiumupgrade.CheckTargetConflictsResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/premiumUpgradePlans/{plan_id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "PremiumUpgradeService"
                ],
                "operationId": "PremiumUpgradeControllerGetPlan",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Plan ID",
                        "name": "plan_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/premiumupgrade.GetPlanResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/premiumUpgradePlans/{plan_id}/apply": {
            "post": {
                "description": "Start an approved plan that is configured to run all steps in sequence",
                "tags": [
                    "PremiumUpgradeService"
                ],
                "operationId": "PremiumUpgradeControllerApplyPlan",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Plan ID",
                        "name": "plan_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/premiumUpgradePlans/{plan_id}/cancel": {
            "post": {
                "tags": [
                    "PremiumUpgradeService"
                ],
                "operationId": "PremiumUpgradeControllerCancelPlan",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Plan ID",
                        "name": "plan_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/premiumUpgradePlans/{plan_id}/steps/{step_id}/apply": {
            "post": {
                "description": "Apply one managed ConfigurationChange in a step-by-step plan",
                "tags": [
                    "PremiumUpgradeService"
                ],
                "operationId": "PremiumUpgradeControllerApplyStep",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Plan ID",
                        "name": "plan_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Step ID",
                        "name": "step_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/premiumUpgradePlans/{plan_id}/steps/{step_id}/retry": {
            "post": {
                "tags": [
                    "PremiumUpgradeService"
                ],
                "operationId": "PremiumUpgradeControllerRetryStep",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Plan ID",
                        "name": "plan_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Step ID",
                        "name": "step_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/privilege/privileges": {
            "get": {
                "description": "list privileges",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "PrivilegeController"
                ],
                "operationId": "PrivilegeControllerListPrivileges",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/privilege.ListPrivilegesResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "request privileges",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "PrivilegeController"
                ],
                "operationId": "PrivilegeControllerRequestPrivilege",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/privilege.RequestPrivilegeReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/privilege.RequestPrivilegeResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/privilege/privileges/{priv_id}": {
            "get": {
                "description": "get a privilege",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "PrivilegeController"
                ],
                "operationId": "PrivilegeControllerGetPrivilege",
                "parameters": [
                    {
                        "type": "string",
                        "description": "id",
                        "name": "priv_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/privilege.GetPrivilegeResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/privilege/privileges/{priv_id}/revoke": {
            "post": {
                "description": "revoke a privilege",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "PrivilegeController"
                ],
                "operationId": "PrivilegeControllerRevokePrivilege",
                "parameters": [
                    {
                        "type": "string",
                        "description": "id",
                        "name": "priv_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/region/regions/get": {
            "get": {
                "description": "get region",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "RegionController"
                ],
                "operationId": "RegionControllerGetRegion",
                "parameters": [
                    {
                        "type": "string",
                        "name": "cloud_provider",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "deploy_type",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "logical_name",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "service_plan",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/region.GetRegionResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/region/regions/list": {
            "get": {
                "description": "list regions",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "RegionController"
                ],
                "operationId": "RegionControllerListRegions",
                "parameters": [
                    {
                        "type": "string",
                        "name": "deploy_type",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "service_plan",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "tenant_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/region.ListRegionsResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/region/regions/provider-identities": {
            "post": {
                "description": "register a provider identity for a nextgen region",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "RegionController"
                ],
                "operationId": "RegionControllerRegisterRegionProviderIdentity",
                "parameters": [
                    {
                        "description": "RegisterRegionProviderIdentityRequest",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/region.RegisterRegionProviderIdentityRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/region.RegisterRegionProviderIdentityResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/region/regions/register": {
            "post": {
                "description": "register region",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "RegionController"
                ],
                "operationId": "RegionControllerRegisterRegion",
                "parameters": [
                    {
                        "description": "RegisterRegionRequest",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/region.RegisterRegionRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/region.RegisterRegionResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/region/regions/update": {
            "post": {
                "description": "update region",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "RegionController"
                ],
                "operationId": "RegionControllerUpdateRegion",
                "parameters": [
                    {
                        "description": "UpdateRegionRequest",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/region.UpdateRegionRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/region.UpdateRegionResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/release/changes": {
            "post": {
                "description": "create a new change",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerCreateChange",
                "parameters": [
                    {
                        "description": "request body",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/release.CreateChangeReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/release.CreateChangeResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/release/changes/default": {
            "get": {
                "description": "get a default change",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerDefaultChange",
                "parameters": [
                    {
                        "type": "string",
                        "name": "application_name",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "release_id",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/release.DefaultChangeResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/release/changes/{change_id}": {
            "get": {
                "description": "get a change",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerGetChange",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "name": "with_applicant",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "with_application",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "with_change_items",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "with_detail",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "with_release",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "with_tickets",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/release.GetChangeResp"
                        }
                    }
                }
            },
            "put": {
                "description": "update a change",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerUpdateChange",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request body",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/release.UpdateChangeReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/release/changes/{change_id}/cancel": {
            "post": {
                "description": "cancel a change",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerCancelChange",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/release/changes/{change_id}/close": {
            "post": {
                "description": "close a change",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerCloseChange",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request body",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/release.CloseChangeReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/release/changes/{change_id}/deployments/{deployment_order}/deploy": {
            "post": {
                "description": "exeuete a deployment of a change",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerExecuteDeployment",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "deployment id",
                        "name": "deployment_order",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request body",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/release.ExecuteDeploymentReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/release/changes/{change_id}/deployments/{deployment_order}/ready": {
            "get": {
                "description": "return if a deployment of a change is ready to execute",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerIsDeploymentReady",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "deployment id",
                        "name": "deployment_order",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/release.IsDeploymentReadyResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/release/changes/{change_id}/deployments/{deployment_order}/verify": {
            "post": {
                "description": "verify a deployment of a change",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerVerifyDeployment",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "deployment id",
                        "name": "deployment_order",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request body",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/release.VerifyDeploymentReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/release/changes/{change_id}/submit": {
            "post": {
                "description": "submit a change",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerSubmitChange",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "change id",
                        "name": "change_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/release/releases": {
            "get": {
                "description": "list releases",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerListReleases",
                "parameters": [
                    {
                        "type": "string",
                        "name": "name",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "timestamp",
                        "name": "release_after",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "timestamp",
                        "name": "release_before",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/release.ListReleaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/release/releases/{release_id}": {
            "get": {
                "description": "get a release",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerGetRelease",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "release id",
                        "name": "release_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "name": "with_tickets",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/release.GetReleaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/release/releases/{release_id}/changes": {
            "get": {
                "description": "list all change of a release",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerListChangesOfRelease",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "release id",
                        "name": "release_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/release.ListChangeResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/release/tickets": {
            "get": {
                "description": "list tickets",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerListTickets",
                "parameters": [
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "name",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "release",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "status",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/release.ListTicketsResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/release/tickets/{ticket_name}": {
            "get": {
                "description": "get a ticket",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerGetTicket",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ticket name",
                        "name": "ticket_name",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "name": "with_github_pr",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/release.GetTicketResp"
                        }
                    }
                }
            },
            "put": {
                "description": "update a ticket",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerUpdateTicket",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ticket name",
                        "name": "ticket_name",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request body",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/release.UpdateTicketReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/release/tickets/{ticket_name}/sync_async": {
            "post": {
                "description": "sync a ticket",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ReleaseController"
                ],
                "operationId": "ReleaseControllerSyncTicketAsync",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ticket name",
                        "name": "ticket_name",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/remediationtickets": {
            "get": {
                "description": "list remediation tickets",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "RemediationTicketService"
                ],
                "operationId": "RemediationTicketControllerListTickets",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/remediationticket.ListRemediationTicketsResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create Ticket",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "RemediationTicketService"
                ],
                "operationId": "RemediationTicketControllerCreateTicket",
                "parameters": [
                    {
                        "description": "request",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/remediationticket.CreateRemediationTicketReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/remediationticket.CreateRemediationTicketResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/remediationtickets/{ticket_id}": {
            "get": {
                "description": "get a remediation ticket",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "RemediationTicketController"
                ],
                "operationId": "RemediationTicketControllerGetTicket",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "ticket id",
                        "name": "ticket_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/remediationticket.GetRemediationTicketResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/remediationtickets/{ticket_id}/approval_flow": {
            "get": {
                "description": "get remediation approval flow",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "RemediationTicketService"
                ],
                "operationId": "RemediationTicketControllerGetApprovalFlow",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "ticket id",
                        "name": "ticket_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/remediationticket.GetApprovalFlowResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/remediationtickets/{ticket_id}/approve": {
            "post": {
                "description": "transfer a remediation ticket phase",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "RemediationTicketController"
                ],
                "operationId": "RemediationTicketControllerApproveTicketPhase",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "ticket id",
                        "name": "ticket_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/remediationticket.ApproveTicketPhaseReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/remediationtickets/{ticket_id}/cancel": {
            "post": {
                "description": "cancel a remediation ticket",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "RemediationTicketController"
                ],
                "operationId": "RemediationTicketControllerCancelTicket",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "ticket id",
                        "name": "ticket_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/remediationtickets/{ticket_id}/generate_doc": {
            "post": {
                "description": "generate final doc for the remediation ticket",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "RemediationTicketController"
                ],
                "operationId": "RemediationTicketControllerGenerateFinalDoc",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "ticket id",
                        "name": "ticket_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/remediationticket.GenerateFinalDocReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/remediationtickets/{ticket_id}/progress": {
            "get": {
                "description": "get remediation ticket progress",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "RemediationTicketService"
                ],
                "operationId": "RemediationTicketControllerGetTicketProgress",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "ticket id",
                        "name": "ticket_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/remediationticket.GetProgressResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/remediationtickets/{ticket_id}/reject": {
            "post": {
                "description": "transfer a remediation ticket phase",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "RemediationTicketController"
                ],
                "operationId": "RemediationTicketControllerRejectTicketPhase",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "ticket id",
                        "name": "ticket_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/remediationticket.RejectTicketPhaseReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/remediationtickets/{ticket_id}/submit": {
            "post": {
                "description": "transfer a remediation ticket phase",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "RemediationTicketController"
                ],
                "operationId": "RemediationTicketControllerSubmitTicketPhase",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "ticket id",
                        "name": "ticket_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/remediationticket.SubmitTicketPhaseReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/remediationtickets/{ticket_id}/ticket_approvals": {
            "get": {
                "description": "get remediation ticket approvals",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "RemediationTicketService"
                ],
                "operationId": "RemediationTicketControllerGetTicketApprovals",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "ticket id",
                        "name": "ticket_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/remediationticket.GetTicketApprovalsResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants": {
            "get": {
                "description": "list tenants",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "ListTenants",
                "parameters": [
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "internal",
                                "external"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "kind",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "asc",
                            "desc"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "OrderTypeASC",
                            "OrderTypeDESC"
                        ],
                        "name": "order",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "new_user",
                                "free_trial",
                                "poc",
                                "on_demand"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "plan",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "APAC",
                                "EMEA",
                                "JAPAN",
                                "NA",
                                "UNKNOWN",
                                "RDG",
                                "TEST_INFRA",
                                "LATAM"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "region",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "SKA",
                                "KA",
                                "SMB"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "segmentation",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "created_at",
                            "timezone"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "SortByTypeCreatedAt",
                            "SortByTypeTimezone"
                        ],
                        "name": "sort_by",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "pending",
                                "active",
                                "inactive",
                                "deleted",
                                "cleared"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "status",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.ListTenantResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/impersonate": {
            "get": {
                "description": "get impersonate",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "GetImpersonate",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.GetImpersonateResp"
                        }
                    }
                }
            },
            "post": {
                "description": "add impersonate",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "AddImpersonate",
                "parameters": [
                    {
                        "description": "ImpersonateReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tenant.AddImpersonateReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.AddImpersonateResp"
                        }
                    }
                }
            },
            "delete": {
                "description": "delete impersonate",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "DeleteImpersonate",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/reservedCapacityTemplates": {
            "get": {
                "description": "list reserved capacity templates",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "ListReservedCapacityTemplates",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "data_size_gib",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "organization_id",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "p99_response_latency",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "qps",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "DEFAULT",
                            "ORG_PRIVATE"
                        ],
                        "type": "string",
                        "name": "scope",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "Starter",
                            "Essential",
                            "Premium",
                            "BYOC",
                            "Premium_Reserved",
                            "Essential_V2"
                        ],
                        "type": "string",
                        "name": "service_plan",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "ACTIVE",
                            "DEPRECATED"
                        ],
                        "type": "string",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "READ",
                            "WRITE",
                            "MIXED"
                        ],
                        "type": "string",
                        "name": "workload_type",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.ListReservedCapacityTemplatesResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create reserved capacity template by operation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "CreateReservedCapacityTemplate",
                "parameters": [
                    {
                        "description": "CreateReservedCapacityTemplateReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tenant.CreateReservedCapacityTemplateReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.ReservedCapacityTemplateOperationResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/reservedCapacityTemplates/{capacity_template_id}": {
            "get": {
                "description": "get reserved capacity template",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "GetReservedCapacityTemplate",
                "parameters": [
                    {
                        "type": "string",
                        "description": "capacity template id",
                        "name": "capacity_template_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.GetReservedCapacityTemplateResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "delete": {
                "description": "delete reserved capacity template by operation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "DeleteReservedCapacityTemplate",
                "parameters": [
                    {
                        "type": "string",
                        "description": "capacity template id",
                        "name": "capacity_template_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "DeleteReservedCapacityTemplateReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tenant.DeleteReservedCapacityTemplateReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.ReservedCapacityTemplateOperationResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/reservedCapacityTemplates/{capacity_template_id}/status": {
            "patch": {
                "description": "update reserved capacity template status by operation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "UpdateReservedCapacityTemplateStatus",
                "parameters": [
                    {
                        "type": "string",
                        "description": "capacity template id",
                        "name": "capacity_template_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "UpdateReservedCapacityTemplateStatusReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tenant.UpdateReservedCapacityTemplateStatusReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.ReservedCapacityTemplateOperationResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/{tenant_id}": {
            "get": {
                "description": "get tenant",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "GetTenant",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.GetTenantResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "update tenant",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "UpdateTenant",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "UpdateTenantReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tenant.UpdateTenantReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.CommonResp"
                        }
                    }
                }
            },
            "delete": {
                "description": "delete tenant",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "DeleteTenant",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "DeleteTenantReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tenant.DeleteTenantReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.CommonResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/{tenant_id}/accountusers": {
            "get": {
                "description": "get tenant users",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "GetTenantUsers",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "name": "full_email",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "search",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.GetUsersResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/{tenant_id}/accountusers/{user_id}": {
            "post": {
                "description": "add user to tenant",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "AddUserToTenant",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "user_id",
                        "name": "user_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "AddUserToTenantReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tenant.AddUserToTenantReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.CommonResp"
                        }
                    }
                }
            },
            "delete": {
                "description": "remove user from tenant",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "RemoveUserFromTenant",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "user_id",
                        "name": "user_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "RemoveUserFromTenantReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tenant.RemoveUserFromTenantReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.CommonResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/{tenant_id}/billing_config_id/{billing_config_id}/invoices/{invoice_id}/recalculate": {
            "post": {
                "description": "create an approval operation to recalculate a tenant invoice",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "RecalculateInvoice",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "billing_config_id",
                        "name": "billing_config_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "invoice_id",
                        "name": "invoice_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "RecalculateInvoiceReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tenant.RecalculateInvoiceReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.CommonResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/{tenant_id}/billing_config_id/{billing_config_id}/recalculate": {
            "post": {
                "description": "create an approval operation to recalculate bills for a tenant billing config",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "RecalculateBills",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "billing_config_id",
                        "name": "billing_config_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "RecalculateBillsReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tenant.RecalculateBillsReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.CommonResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/{tenant_id}/byoc_regions": {
            "get": {
                "description": "list byoc regions for a tenant",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "ListByocRegions",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.ListByocRegionsResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/{tenant_id}/credits": {
            "post": {
                "description": "add credits for tenant",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "AddCredits",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "AddCreditsReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tenant.AddCreditsReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.CommonResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/{tenant_id}/credits/internal": {
            "post": {
                "description": "add credits for tenant directly without operation workflow",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "AddCreditsInternal",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "AddCreditsInternalReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tenant.AddCreditsInternalReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.CommonResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/{tenant_id}/ops_audit_log_settings": {
            "post": {
                "description": "update region ops audit log settings",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "UpdateRegionOpsAuditLogSettings",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "UpdateRegionOpsAuditLogSettingReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tenant.UpdateRegionOpsAuditLogSettingReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.CommonResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/{tenant_id}/projects/{project_id}": {
            "get": {
                "description": "get project",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "GetProject",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "project_id",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.GetProjectResp"
                        }
                    }
                }
            },
            "delete": {
                "description": "delete project",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "DeleteProject",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "project_id",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "DeleteProjectReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tenant.DeleteProjectReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.CommonResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/{tenant_id}/projects/{project_id}/accountusers": {
            "get": {
                "description": "get project users",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "GetProjectUsers",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "project_id",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "name": "full_email",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "search",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.GetUsersResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/{tenant_id}/projects/{project_id}/accountusers/{user_id}": {
            "post": {
                "description": "add user to project",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "AddUserToProject",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "project_id",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "user_id",
                        "name": "user_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "AddUserToProjectReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tenant.AddUserToProjectReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.CommonResp"
                        }
                    }
                }
            },
            "delete": {
                "description": "remove user from project",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "RemoveUserFromProject",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "project_id",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "user_id",
                        "name": "user_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "RemoveUserFromTenantReq",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/tenant.RemoveUserFromProjectReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.CommonResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/{tenant_id}/projects/{project_id}/vpc": {
            "get": {
                "description": "list vpcs of the project",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ProjectController"
                ],
                "operationId": "ProjectControllerListVPCs",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "project id",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "provider",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "region",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/project.ListVPCsResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/{tenant_id}/projects/{project_id}/vpc/{vpc_id}/cidr": {
            "post": {
                "description": "add a secondary cidr for a project",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ProjectController"
                ],
                "operationId": "ProjectControllerAddSecondaryCIDR",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "project id",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "vpc id",
                        "name": "vpc_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request body",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/project.AddSecondaryCIDRReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/project.CommonResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/tenants/{tenant_id}/quota": {
            "get": {
                "description": "list tenant quota",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantService"
                ],
                "operationId": "ListTenantQuota",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant_id",
                        "name": "tenant_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tenant.ListTenantQuotaResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/ticdc-meta/internal-ticdc/{ticdc_cluster_id}/shutdown": {
            "post": {
                "description": "shutdown ticdc cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerShutdownTiCDCCluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ticdc cluster id",
                        "name": "ticdc_cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ShutdownTiCDCReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.OperationResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/ticdc-meta/{cluster_type}/internal-changefeed/pause/{changefeed_id}": {
            "post": {
                "description": "pause one changefeed by changefeed id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerPauseChangefeed",
                "parameters": [
                    {
                        "type": "string",
                        "description": "changefeed id",
                        "name": "changefeed_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "cluster type",
                        "name": "cluster_type",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.OperationResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/ticdc-meta/{cluster_type}/internal-changefeed/resume/{changefeed_id}": {
            "post": {
                "description": "resume one changefeed by changefeed id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerResumeChangefeed",
                "parameters": [
                    {
                        "type": "string",
                        "description": "changefeed id",
                        "name": "changefeed_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "cluster type",
                        "name": "cluster_type",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.OperationResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/ticdc-meta/{cluster_type}/internal-changefeed/{changefeed_id}": {
            "get": {
                "description": "get one changefeed by kernel/internal changefeed id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerGetInternalChangefeed",
                "parameters": [
                    {
                        "type": "string",
                        "description": "kernel/internal changefeed id",
                        "name": "changefeed_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "cluster type",
                        "name": "cluster_type",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.GetInternalChangefeedResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "restart one changefeed by changefeed id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerRestartChangefeed",
                "parameters": [
                    {
                        "type": "string",
                        "description": "changefeed id",
                        "name": "changefeed_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "cluster type",
                        "name": "cluster_type",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.OperationResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/ticdc-meta/{cluster_type}/internal-changefeeds/{cluster_id}": {
            "get": {
                "description": "list business changefeeds of a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerListInternalChangefeeds",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "cluster type",
                        "name": "cluster_type",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.ListInternalChangefeedsResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/ticdc-meta/{cluster_type}/internal-ticdc/{ticdc_cluster_id}": {
            "get": {
                "description": "get one ticdc cluster by ticdc cluster id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerGetInternalTiCDCCluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ticdc cluster id",
                        "name": "ticdc_cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "ticdc cluster type",
                        "name": "cluster_type",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.GetInternalTiCDCClusterResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            },
            "post": {
                "description": "restart one ticdc cluster by ticdc cluster id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CloudConfigController"
                ],
                "operationId": "CloudConfigControllerRestartTiCDCCluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ticdc cluster id",
                        "name": "ticdc_cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "cluster type",
                        "name": "cluster_type",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/cloudconfig.OperationResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/userbehavior/gtm/emails/suppress": {
            "post": {
                "description": "suppress a GTM email campaign for a tenant",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserBehaviorController"
                ],
                "operationId": "UserBehaviorControllerSuppressGTMEmail",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/userbehavior.SuppressGTMEmailReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/userbehavior.SuppressGTMEmailResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/userbehavior/subscriptions": {
            "get": {
                "description": "list subscriptions",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserBehaviorController"
                ],
                "operationId": "UserBehaviorControllerListSubscriptions",
                "parameters": [
                    {
                        "type": "string",
                        "name": "applicant",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "cluster_id",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "filter_by_creator",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "show_unaccessible",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "type",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/userbehavior.ListSubscriptionsResp"
                        }
                    }
                }
            },
            "post": {
                "description": "create an subscription",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserBehaviorController"
                ],
                "operationId": "UserBehaviorControllerCreateSubscription",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/userbehavior.CreateSubscriptionReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/userbehavior.CreateSubscriptionResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/userbehavior/subscriptions/add_chat": {
            "post": {
                "description": "add an external lark chat to lark chat list",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserBehaviorController"
                ],
                "operationId": "UserBehaviorControllerAddExternalLarkChat",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/userbehavior.AddExternalLarkChatReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/userbehavior/subscriptions/larkchat_options": {
            "get": {
                "description": "get lark chat options",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserBehaviorController"
                ],
                "operationId": "UserBehaviorControllerGetLarkChatOptions",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/userbehavior.ListLarkChatOptionsResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/userbehavior/subscriptions/{subscription_id}": {
            "get": {
                "description": "get an subscription",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserBehaviorController"
                ],
                "operationId": "UserBehaviorControllerGetSubscription",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "subscription name",
                        "name": "subscription_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/userbehavior.GetSubscriptionResp"
                        }
                    }
                }
            },
            "put": {
                "description": "edit subscription",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserBehaviorService"
                ],
                "operationId": "UserBehaviorControllerEditSubscription",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "subscription id",
                        "name": "subscription_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/userbehavior.EditSubscriptionReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/userbehavior.EditSubscriptionResp"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/userbehavior/subscriptions/{subscription_id}/cancel": {
            "post": {
                "description": "cancel an subscription",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserBehaviorController"
                ],
                "operationId": "UserBehaviorControllerCancelSubscription",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "subscription id",
                        "name": "subscription_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/userbehavior/subscriptions/{subscription_id}/mock": {
            "post": {
                "description": "send a mock event to subscription",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserBehaviorController"
                ],
                "operationId": "UserBehaviorControllerSendMockEvent",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "subscription name",
                        "name": "subscription_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/webhook/jira/create-lark-group-for-s1-tickets": {
            "post": {
                "description": "create a lark group for s1 jira tickets and bind the group to the ticket",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "WebhookController"
                ],
                "operationId": "WebhookControllerJiraCreateLarkGroupForS1Tickets",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/webhook.JiraCreateLarkGroupForS1TicketsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/webhook.JiraCreateLarkGroupForS1TicketsResponse"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/webhook/jira/invite-assignee": {
            "post": {
                "description": "invite assignee to the lark group if the issue binded to a lark group",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "WebhookController"
                ],
                "operationId": "WebhookControllerJiraInviteAssigneeToLarkGroup",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/webhook.JiraInviteAssigneeToLarkGroupRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/webhook/jira/sync-lark-group": {
            "post": {
                "description": "bind escalated Jira ticket to Lark group",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "WebhookController"
                ],
                "operationId": "WebhookControllerJiraBindLarkGroupWhenEscalation",
                "parameters": [
                    {
                        "description": "request param",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/webhook.JiraBindLarkGroupWhenEscalationRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/backup-exports": {
            "get": {
                "description": "list Dedicated backup export jobs",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerListBackupExports",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "page, default 1",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "page size, default 20, max 200",
                        "name": "page_size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.ListBackupExportsResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/backup-setting": {
            "get": {
                "description": "get Dedicated backup setting",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerGetBackupSetting",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.DedicatedBackupSetting"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/backups": {
            "get": {
                "description": "list Dedicated or Premium cluster backups",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerListBackups",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "page, default 1",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "page size, default 20, max 200 for Dedicated and max 100 for Premium",
                        "name": "page_size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.ListBackupsResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/changefeeds": {
            "get": {
                "description": "list internal changefeeds of a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerListChangefeeds",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.ListChangefeedsResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/dm/jobs": {
            "get": {
                "description": "list DM jobs of a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerListDMJobs",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "page, default 1",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "page size, default 20, max 200",
                        "name": "page_size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.ListDMJobsResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/dm/jobs/{job_id}": {
            "get": {
                "description": "get a DM job by id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerGetDMJob",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "job id",
                        "name": "job_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.DMJobDetail"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/dm/overview": {
            "get": {
                "description": "get DM version/overview for a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerGetDMOverview",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.DMOverview"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/dm/prechecks": {
            "get": {
                "description": "list DM prechecks of a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerListDMPrechecks",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "page, default 1",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "page size, default 20, max 200",
                        "name": "page_size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.ListDMPrechecksResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/dm/prechecks/{precheck_id}": {
            "get": {
                "description": "get a DM precheck by id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerGetDMPrecheck",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "precheck id",
                        "name": "precheck_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.DMPrecheckDetail"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/exports": {
            "get": {
                "description": "list Premium or Essential v2 data export tasks",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerListExports",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "page, default 1",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "page size, default 20, max 200",
                        "name": "page_size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.ListExportsResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/import-into-tasks": {
            "get": {
                "description": "list Premium IMPORT INTO tasks of a cluster (upstream RPC pending)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerListImportIntoTasks",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "page, default 1",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "page size, default 20, max 200",
                        "name": "page_size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.ListImportIntoTasksResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/import-into-tasks/{task_id}": {
            "get": {
                "description": "get a Premium IMPORT INTO task by id (upstream RPC pending)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerGetImportIntoTask",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "task id",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.GetImportIntoTaskResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/imports": {
            "get": {
                "description": "list Dedicated TiDB imports of a cluster (upstream RPC pending)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerListImports",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "page, default 1",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "page size, default 20, max 200",
                        "name": "page_size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.ListImportsResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/log-backups": {
            "get": {
                "description": "list Dedicated log backups",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerListLogBackups",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "page, default 1",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "page size, default 20, max 200",
                        "name": "page_size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.ListLogBackupsResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/nextgen-backup-setting": {
            "get": {
                "description": "get Premium or Essential v2 backup setting",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerGetNextGenBackupSetting",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.NextGenBackupSetting"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/overview": {
            "get": {
                "description": "aggregated overview across all tools for a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerGetOverview",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.GetOverviewResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/restores": {
            "get": {
                "description": "list Dedicated or Premium restores",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerListRestores",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "page, default 1",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "page size, default 20, max 200",
                        "name": "page_size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.ListRestoresResp"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/restores/progress": {
            "get": {
                "description": "get Dedicated or Premium restore progress",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerGetRestoreProgress",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.RestoreProgress"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        },
        "/api/v1/devops/{cluster_id}/tidbtools/restores/{restore_id}": {
            "get": {
                "description": "get a Dedicated restore by ID or the current Premium restore using its target cluster ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TidbToolsController"
                ],
                "operationId": "TidbToolsControllerGetRestore",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "restore ID; for Premium, the target cluster ID",
                        "name": "restore_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/tidbtools.RestoreDetail"
                        }
                    },
                    "default": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/api.BaseResp"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "accountcli.Project": {
            "type": "object",
            "properties": {
                "aws_cmek_enabled": {
                    "type": "boolean"
                },
                "created_at": {
                    "$ref": "#/definitions/timestamppb.Timestamp"
                },
                "deleted_at": {
                    "$ref": "#/definitions/timestamppb.Timestamp"
                },
                "id": {
                    "type": "integer"
                },
                "is_cross_account": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "integer"
                },
                "updated_at": {
                    "$ref": "#/definitions/timestamppb.Timestamp"
                }
            }
        },
        "accountcli.User": {
            "type": "object",
            "properties": {
                "email": {
                    "type": "string"
                },
                "first_name": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "invite_time": {
                    "$ref": "#/definitions/timestamppb.Timestamp"
                },
                "last_name": {
                    "type": "string"
                },
                "login_time": {
                    "$ref": "#/definitions/timestamppb.Timestamp"
                },
                "role": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "api.ApprovalRoute": {
            "type": "object",
            "properties": {
                "approver": {
                    "$ref": "#/definitions/entity.Approver"
                },
                "components": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "condition": {
                    "type": "string"
                },
                "group": {
                    "type": "string"
                },
                "method": {
                    "$ref": "#/definitions/entity.ApproveMethod"
                },
                "name": {
                    "type": "string"
                },
                "repositories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "skip_when_empty": {
                    "type": "boolean"
                }
            }
        },
        "api.BaseResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "api.ComponentImageTag": {
            "type": "object",
            "properties": {
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "component": {
                    "type": "string"
                },
                "image_tag": {
                    "type": "string"
                }
            }
        },
        "api.ComponentPolicy": {
            "type": "object",
            "properties": {
                "apply_group": {
                    "type": "string"
                },
                "apply_strategy": {
                    "$ref": "#/definitions/cloudconfig.ParameterApplyPolicy"
                },
                "atomic_group": {
                    "type": "boolean"
                },
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "component": {
                    "type": "string"
                },
                "order_revision": {
                    "type": "string"
                },
                "priority": {
                    "type": "integer"
                }
            }
        },
        "api.ComponentSelector": {
            "type": "object",
            "properties": {
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "component": {
                    "type": "string"
                }
            }
        },
        "api.EmptyResp": {
            "type": "object"
        },
        "api.ErrCode": {
            "type": "string",
            "enum": [
                "OK",
                "INVALID_ARGUMENT",
                "FAILED_PRECONDITION",
                "OUT_OF_RANGE",
                "UNAUTHENTICATED",
                "PERMISSION_DENIED",
                "NOT_FOUND",
                "ABORTED",
                "ALREADY_EXISTS",
                "RESOURCE_EXHAUSTED",
                "CANCELLED",
                "DATA_LOSS",
                "UNKNOWN",
                "INTERNAL",
                "NOT_IMPLEMENTED",
                "UNAVAILABLE",
                "DEADLINE_EXCEEDED"
            ],
            "x-enum-varnames": [
                "ErrCodeOK",
                "ErrCodeInvalidArgument",
                "ErrCodeFailedPrecond",
                "ErrCodeOutOfRange",
                "ErrCodeUnauthenticated",
                "ErrCodePermissionDenied",
                "ErrCodeNotFound",
                "ErrCodeAborted",
                "ErrCodeAlreadyExists",
                "ErrCodeResourceExhaust",
                "ErrCodeCancelled",
                "ErrCodeDataLoss",
                "ErrCodeUnknown",
                "ErrCodeInternal",
                "ErrCodeNotImplemented",
                "ErrCodeUnavailable",
                "ErrCodeDeadlineExceeded"
            ]
        },
        "api.OrderType": {
            "type": "string",
            "enum": [
                "asc",
                "desc"
            ],
            "x-enum-varnames": [
                "OrderTypeASC",
                "OrderTypeDESC"
            ]
        },
        "api.PreviewPlanResult": {
            "type": "object",
            "properties": {
                "approval_routes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/api.ApprovalRoute"
                    }
                },
                "cluster_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "component_image_tags": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/api.ComponentImageTag"
                    }
                },
                "component_order_revision": {
                    "type": "string"
                },
                "desired_version": {
                    "type": "string"
                },
                "execution_mode": {
                    "$ref": "#/definitions/premiumupgrade.ExecutionMode"
                },
                "manifest_hash": {
                    "type": "string"
                },
                "scope": {
                    "$ref": "#/definitions/api.UpgradeScope"
                },
                "targets": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/api.PreviewTarget"
                    }
                },
                "warnings": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "api.PreviewStep": {
            "type": "object",
            "properties": {
                "apply_group": {
                    "type": "string"
                },
                "apply_strategy": {
                    "$ref": "#/definitions/cloudconfig.ParameterApplyPolicy"
                },
                "cluster_id": {
                    "type": "string"
                },
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "components": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/api.PreviewStepComponent"
                    }
                },
                "noop": {
                    "type": "boolean"
                },
                "sequence": {
                    "type": "integer"
                }
            }
        },
        "api.PreviewStepComponent": {
            "type": "object",
            "properties": {
                "base_image": {
                    "type": "string"
                },
                "component": {
                    "type": "string"
                },
                "from_image_tag": {
                    "type": "string"
                },
                "from_version": {
                    "type": "string"
                },
                "image_tag_source": {
                    "type": "string"
                },
                "noop": {
                    "type": "boolean"
                },
                "to_image_tag": {
                    "type": "string"
                },
                "to_version": {
                    "type": "string"
                }
            }
        },
        "api.PreviewTarget": {
            "type": "object",
            "properties": {
                "cloud_provider": {
                    "type": "string"
                },
                "cluster_id": {
                    "type": "string"
                },
                "cluster_name": {
                    "type": "string"
                },
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "logical_region": {
                    "type": "string"
                },
                "shared_pool_id": {
                    "type": "string"
                },
                "source_cluster_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "steps": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/api.PreviewStep"
                    }
                },
                "tenant_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "api.SortByType": {
            "type": "string",
            "enum": [
                "created_at",
                "timezone"
            ],
            "x-enum-varnames": [
                "SortByTypeCreatedAt",
                "SortByTypeTimezone"
            ]
        },
        "api.TargetConflict": {
            "type": "object",
            "properties": {
                "cluster_id": {
                    "type": "string"
                },
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "plan_id": {
                    "type": "integer"
                },
                "plan_name": {
                    "type": "string"
                },
                "plan_status": {
                    "$ref": "#/definitions/premiumupgrade.PlanStatus"
                }
            }
        },
        "api.UpgradeScope": {
            "type": "object",
            "properties": {
                "components": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/api.ComponentSelector"
                    }
                },
                "mode": {
                    "$ref": "#/definitions/premiumupgrade.ScopeMode"
                }
            }
        },
        "application.Application": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "owners": {
                    "description": "User Email",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "application.CreateApplicationReq": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "description": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "owners": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "application.CreateApplicationResp": {
            "type": "object",
            "properties": {
                "application_id": {
                    "type": "integer"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "application.GetApplicationResp": {
            "type": "object",
            "properties": {
                "application": {
                    "$ref": "#/definitions/application.Application"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "application.ListApplicationResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/application.Application"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "approval.CreateApprovalReq": {
            "type": "object",
            "properties": {
                "applicant": {
                    "description": "Applicant is the user who applies for the approval.",
                    "type": "string"
                },
                "cc_tasks": {
                    "$ref": "#/definitions/entity.Approver"
                },
                "configuration": {
                    "description": "Configuration is the approval configuration.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.ApprovalConfiguration"
                        }
                    ]
                },
                "detail_link": {
                    "description": "DetailLink is a link showed in the notifcation.",
                    "type": "string"
                },
                "name": {
                    "description": "Name is the approval's name used to categorize the approval.",
                    "type": "string"
                },
                "nodes": {
                    "description": "Nodes is the approval nodes.\n\nIf it is empty, the approval will be approved after created.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.ApproverNode"
                    }
                },
                "overview": {
                    "description": "Overview is a human-readable summary shown in approval notifications.",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "parameters": {
                    "description": "Parameters is the parameters showed in the notifcation.",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "reason": {
                    "description": "Reason is the reason of the approval.",
                    "type": "string"
                }
            }
        },
        "approval.CreateApprovalResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "approval.GetApprovalResp": {
            "type": "object",
            "properties": {
                "approval": {
                    "$ref": "#/definitions/entity.Approval"
                },
                "can_admin_approve": {
                    "type": "boolean"
                },
                "can_approve": {
                    "type": "boolean"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "audit.AuditLog": {
            "type": "object",
            "properties": {
                "details": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "id": {
                    "type": "integer"
                },
                "object_id": {
                    "type": "string"
                },
                "operate_at": {
                    "type": "string"
                },
                "operation": {
                    "type": "string"
                },
                "operator": {
                    "type": "string"
                },
                "type": {
                    "$ref": "#/definitions/audit.AuditLogType"
                }
            }
        },
        "audit.AuditLogType": {
            "type": "string",
            "enum": [
                "change",
                "ctl",
                "cluster_maintenance",
                "operation",
                "jump",
                "cloud_config_change",
                "cloud_config_default_config_change",
                "k8s_upgrade_task",
                "tenant",
                "spu_sku",
                "rbac_role",
                "rbac_rolebinding",
                "iam_role",
                "iam_rolebinding",
                "iam_policy",
                "iam_policybinding",
                "iam_apikey"
            ],
            "x-enum-varnames": [
                "AuditLogTypeChange",
                "AuditLogTypeCtl",
                "AuditLogTypeClusterMaintenance",
                "AuditLogTypeOperation",
                "AuditLogTypeJump",
                "AuditLogTypeCloudConfigChange",
                "AuditLogTypeCloudConfigDefaultConfigChange",
                "AuditLogTypeK8sUpgradetask",
                "AuditLogTypeTenant",
                "AuditLogTypeSpuSku",
                "AuditLogTypeRBACRole",
                "AuditLogTypeRBACRoleBinding",
                "AuditLogTypeIAMRole",
                "AuditLogTypeIAMRoleBinding",
                "AuditLogTypeIAMPolicy",
                "AuditLogTypeIAMPolicyBinding",
                "AuditLogTypeIAMAPIKey"
            ]
        },
        "audit.ListAuditLogResp": {
            "type": "object",
            "properties": {
                "audit_logs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/audit.AuditLog"
                    }
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "audit.ListAuditLogTypesResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                },
                "types": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/audit.AuditLogType"
                    }
                }
            }
        },
        "audit.ListChangeAuditLogResp": {
            "type": "object",
            "properties": {
                "audit_logs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/audit.AuditLog"
                    }
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "audit.ListClusterMaintenanceAuditLogResp": {
            "type": "object",
            "properties": {
                "audit_logs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/audit.AuditLog"
                    }
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "audit.ListCtlAuditLogResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/audit.AuditLog"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "audit.ListJumpAuditLogResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/audit.AuditLog"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "audit.ListOperationAuditLogResp": {
            "type": "object",
            "properties": {
                "audit_logs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/audit.AuditLog"
                    }
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ApplyConfigurationChangeReq": {
            "type": "object",
            "properties": {
                "mode": {
                    "$ref": "#/definitions/cloudconfig.ApplyMode"
                }
            }
        },
        "cloudconfig.ApplyMode": {
            "type": "object",
            "properties": {
                "allow_methods": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "deny_methods": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "cloudconfig.AvailableClusterVersion": {
            "type": "object",
            "properties": {
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "is_default": {
                    "type": "boolean"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.BatchUpdateComponentConfigsReq": {
            "type": "object",
            "properties": {
                "components": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.DefaultComponentConfiguration"
                    }
                }
            }
        },
        "cloudconfig.BatchUpdateDefaultConfigurationChangeItemsReq": {
            "type": "object",
            "properties": {
                "batch_update_component_configs": {
                    "$ref": "#/definitions/cloudconfig.BatchUpdateComponentConfigsReq"
                },
                "batch_update_template": {
                    "$ref": "#/definitions/cloudconfig.BatchUpdateTemplateBindingsReq"
                }
            }
        },
        "cloudconfig.BatchUpdateTemplateBindingsReq": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.TemplateDefaultCaseBindingChange"
                    }
                },
                "params_to_set": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.NamedParameter"
                    }
                },
                "params_to_unset": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "cloudconfig.ChangeComponentReq": {
            "type": "object",
            "properties": {
                "component": {
                    "type": "string"
                },
                "overwrite_image_tag": {
                    "$ref": "#/definitions/cloudconfig.ChangeImageTagReq"
                },
                "version": {
                    "$ref": "#/definitions/cloudconfig.ChangeVersionReq"
                }
            }
        },
        "cloudconfig.ChangeDefaultComponentsReq": {
            "type": "object",
            "properties": {
                "components": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.DefaultComponentConfiguration"
                    }
                },
                "reason": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ChangeFileReq": {
            "type": "object",
            "properties": {
                "config_type": {
                    "type": "string"
                },
                "custom_parameters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.NamedParameter"
                    }
                },
                "filename": {
                    "type": "string"
                },
                "previous_text": {
                    "type": "string"
                },
                "template": {
                    "$ref": "#/definitions/cloudconfig.ChangeTemplateReq"
                }
            }
        },
        "cloudconfig.ChangeImageTagReq": {
            "type": "object",
            "properties": {
                "to_image_tag": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ChangeTemplateDefaultCaseBindingsReq": {
            "type": "object",
            "properties": {
                "default_case_bindings": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.TemplateDefaultCaseBinding"
                    }
                },
                "reason": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ChangeTemplateReq": {
            "type": "object",
            "properties": {
                "to_template": {
                    "type": "integer"
                }
            }
        },
        "cloudconfig.ChangeVersionReq": {
            "type": "object",
            "properties": {
                "to_version": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ChangedImageTag": {
            "type": "object",
            "properties": {
                "from": {
                    "type": "string"
                },
                "to": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ChangedParameter": {
            "type": "object",
            "properties": {
                "from": {},
                "from_source": {
                    "$ref": "#/definitions/cloudconfig.ParameterSource"
                },
                "name": {
                    "type": "string"
                },
                "risk_level": {
                    "description": "\"low\" or \"high\"",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cloudconfig.RiskLevel"
                        }
                    ]
                },
                "to": {},
                "to_source": {
                    "$ref": "#/definitions/cloudconfig.ParameterSource"
                }
            }
        },
        "cloudconfig.ChangedTemplate": {
            "type": "object",
            "properties": {
                "from": {
                    "type": "integer"
                },
                "to": {
                    "type": "integer"
                }
            }
        },
        "cloudconfig.ChangedVersion": {
            "type": "object",
            "properties": {
                "from": {
                    "type": "string"
                },
                "to": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ChangefeedEventFilter": {
            "type": "object",
            "properties": {
                "ignored_delete_value_expression": {
                    "type": "string"
                },
                "ignored_events": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "ignored_insert_value_expression": {
                    "type": "string"
                },
                "ignored_sql_statements": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "ignored_update_new_value_expression": {
                    "type": "string"
                },
                "ignored_update_old_value_expression": {
                    "type": "string"
                },
                "table_matchers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "cloudconfig.ChangefeedNetworkInfo": {
            "type": "object",
            "properties": {
                "advertised_pattern_group": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "kafka_id": {
                    "type": "string"
                },
                "network_type": {
                    "type": "string"
                },
                "ports": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "private_link_service_name": {
                    "type": "string"
                },
                "sink_endpoint_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ChangefeedStartPosition": {
            "type": "object",
            "properties": {
                "mode": {
                    "type": "string"
                },
                "timestamp": {
                    "type": "string"
                },
                "tso": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ChangefeedTableConfig": {
            "type": "object",
            "properties": {
                "case_sensitive": {
                    "type": "boolean"
                },
                "event_filters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ChangefeedEventFilter"
                    }
                },
                "filter_rules": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "mode": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.CloneParamAttrReq": {
            "type": "object",
            "required": [
                "from_version",
                "to_version"
            ],
            "properties": {
                "from_version": {
                    "type": "string"
                },
                "to_version": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.CloseDefaultConfigurationChangeReq": {
            "type": "object",
            "properties": {
                "reason": {
                    "type": "string"
                },
                "result": {
                    "$ref": "#/definitions/cloudconfig.DefaultConfigurationChangePhase"
                }
            }
        },
        "cloudconfig.CloudInstanceType": {
            "type": "object",
            "properties": {
                "cloud_provider": {
                    "type": "string"
                },
                "instance_type": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ClusterComponentSearchRegionResult": {
            "type": "object",
            "properties": {
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "error": {
                    "type": "string"
                },
                "has_more": {
                    "type": "boolean"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ClusterComponentVersion"
                    }
                },
                "logical_region": {
                    "type": "string"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "cloudconfig.ClusterComponentVersion": {
            "type": "object",
            "properties": {
                "base_image": {
                    "type": "string"
                },
                "cloud_provider": {
                    "type": "string"
                },
                "cluster_id": {
                    "type": "string"
                },
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "component_name": {
                    "type": "string"
                },
                "effective_image_tag": {
                    "type": "string"
                },
                "logical_region": {
                    "type": "string"
                },
                "node_instance": {
                    "type": "string"
                },
                "overwrite_image_tag": {
                    "type": "string"
                },
                "update_strategy": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ClusterConfigurationLocator": {
            "type": "object",
            "required": [
                "cluster_id",
                "cluster_type"
            ],
            "properties": {
                "cluster_id": {
                    "type": "string"
                },
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                }
            }
        },
        "cloudconfig.ClusterType": {
            "type": "string",
            "enum": [
                "",
                "DEDICATED_TIDB",
                "TICDC",
                "CHANGEFEED",
                "SHARED_POOL",
                "LOGICAL_CLUSTER",
                "TICDC_NG",
                "CHANGEFEED_NG",
                "CHANGEFEED_ESSENTIAL"
            ],
            "x-enum-varnames": [
                "ClusterTypeUnknown",
                "ClusterTypeDedicatedTiDB",
                "ClusterTypeTiCDC",
                "ClusterTypeChangefeed",
                "ClusterTypeSharedPool",
                "ClusterTypeLogicalCluster",
                "ClusterTypeTiCDCNG",
                "ClusterTypeChangefeedNG",
                "ClusterTypeChangefeedEssential"
            ]
        },
        "cloudconfig.Component": {
            "type": "object",
            "properties": {
                "base_image": {
                    "type": "string"
                },
                "cloud_provider": {
                    "type": "string"
                },
                "effective_image_tag": {
                    "type": "string"
                },
                "instance_type": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "overwrite_image_tag": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ComponentDefaultCase": {
            "type": "object",
            "properties": {
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "component": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ComponentInfo": {
            "type": "object",
            "properties": {
                "base_image": {
                    "type": "string"
                },
                "component_name": {
                    "type": "string"
                },
                "general_availability": {
                    "type": "boolean"
                },
                "image_tag": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.Configuration": {
            "type": "object",
            "properties": {
                "components": {
                    "description": "key: component name",
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/cloudconfig.Component"
                    }
                },
                "files": {
                    "description": "key: filename",
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/cloudconfig.FileConfiguration"
                    }
                },
                "target_cluster": {
                    "$ref": "#/definitions/cloudconfig.ClusterConfigurationLocator"
                },
                "target_tenant": {
                    "$ref": "#/definitions/cloudconfig.TenantInitConfigurationLocator"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ConfigurationChange": {
            "type": "object",
            "properties": {
                "applicant": {
                    "type": "string"
                },
                "applied_at": {
                    "type": "integer"
                },
                "apply_policy": {
                    "$ref": "#/definitions/cloudconfig.ParameterApplyPolicy"
                },
                "approval_id": {
                    "type": "integer"
                },
                "change_type": {
                    "type": "string"
                },
                "closed_at": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "integer"
                },
                "execution_window": {
                    "description": "only set in get/list API",
                    "allOf": [
                        {
                            "$ref": "#/definitions/maintenance.OpsExecutionWindow"
                        }
                    ]
                },
                "execution_window_id": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "operator_entity": {
                    "type": "string"
                },
                "phase": {
                    "$ref": "#/definitions/cloudconfig.ConfigurationChangePhase"
                },
                "premium_upgrade_step_id": {
                    "type": "integer"
                },
                "reason": {
                    "type": "string"
                },
                "scope": {
                    "$ref": "#/definitions/cloudconfig.ConfigurationChangeScope"
                },
                "target_cluster": {
                    "$ref": "#/definitions/cloudconfig.ClusterConfigurationLocator"
                },
                "target_template": {
                    "$ref": "#/definitions/cloudconfig.ConfigurationTemplateLocator"
                },
                "target_tenant": {
                    "$ref": "#/definitions/cloudconfig.TenantInitConfigurationLocator"
                },
                "target_type": {
                    "$ref": "#/definitions/cloudconfig.ConfigurationChangeTargetType"
                },
                "target_version": {
                    "description": "TargetVersion is the version of the target.\nNOTE: If version is changed, it will be the changed version.",
                    "type": "string"
                }
            }
        },
        "cloudconfig.ConfigurationChangePhase": {
            "type": "string",
            "enum": [
                "created",
                "approving",
                "wait_for_apply",
                "applying",
                "applied",
                "failed",
                "cancelled",
                "withdrawn"
            ],
            "x-enum-varnames": [
                "ConfigurationChangePhaseCreated",
                "ConfigurationChangePhaseApproving",
                "ConfigurationChangePhaseWaitForApply",
                "ConfigurationChangePhaseApplying",
                "ConfigurationChangePhaseApplied",
                "ConfigurationChangePhaseFailed",
                "ConfigurationChangePhaseCancelled",
                "ConfigurationChangePhaseWithdrawn"
            ]
        },
        "cloudconfig.ConfigurationChangeScope": {
            "type": "object",
            "properties": {
                "components": {
                    "description": "Components contains changes for components\nNOTE: not contain the unchanged components.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ConfigurationComponentChange"
                    }
                },
                "files": {
                    "description": "Files contains changes for configuration files.\nNOTE: not contain the unchanged files.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ConfigurationFileChange"
                    }
                },
                "version": {
                    "description": "Version means the change for cluster version",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cloudconfig.ConfigurationVersionChange"
                        }
                    ]
                }
            }
        },
        "cloudconfig.ConfigurationChangeTargetType": {
            "type": "string",
            "enum": [
                "cluster",
                "tenant_init",
                "template"
            ],
            "x-enum-varnames": [
                "ConfigurationChangeTargetTypeCluster",
                "ConfigurationChangeTargetTypeTenantInit",
                "ConfigurationChangeTargetTypeTemplate"
            ]
        },
        "cloudconfig.ConfigurationChangeable": {
            "type": "object",
            "properties": {
                "changeable": {
                    "type": "boolean"
                },
                "reason": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ConfigurationComponentChange": {
            "type": "object",
            "properties": {
                "component": {
                    "description": "Component is the component name.",
                    "type": "string"
                },
                "id": {
                    "description": "ID is the id in the database.",
                    "type": "integer"
                },
                "modified_image_tag": {
                    "description": "ModifiedImageTag records the change for effective image tag",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cloudconfig.ChangedImageTag"
                        }
                    ]
                },
                "modified_overwirte_image_tag": {
                    "description": "ModifiedOverwriteImageTag contains the the change for overwrite image tag",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cloudconfig.ChangedImageTag"
                        }
                    ]
                },
                "modified_version": {
                    "description": "ModifiedVersion records the component version change.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cloudconfig.ChangedVersion"
                        }
                    ]
                }
            }
        },
        "cloudconfig.ConfigurationFileChange": {
            "type": "object",
            "properties": {
                "all_parameters": {
                    "description": "AllParameters contain all used parameters.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.UsedParameter"
                    }
                },
                "clear_custom_params": {
                    "description": "ClearCustomParams indicates whether to clear all custom params.",
                    "type": "boolean"
                },
                "config_type": {
                    "description": "ConfigType is the config type of the file",
                    "type": "string"
                },
                "filename": {
                    "description": "Filename is the name of the file.",
                    "type": "string"
                },
                "id": {
                    "description": "ID is the id in the database.",
                    "type": "integer"
                },
                "modified_parameters": {
                    "description": "ModifiedParameters is the modified configs.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ChangedParameter"
                    }
                },
                "modified_template": {
                    "description": "ModifiedTemplate is the modified template",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cloudconfig.ChangedTemplate"
                        }
                    ]
                },
                "previous_text": {
                    "description": "PreviousText is the file text before the change.\nIt is used to check this change is sequential.",
                    "type": "string"
                },
                "template_id": {
                    "description": "TemplateID is the id of used template.\nNOTE: If template is changed, it will be the changed template.",
                    "type": "integer"
                }
            }
        },
        "cloudconfig.ConfigurationTemplateLocator": {
            "type": "object",
            "required": [
                "cluster_type",
                "template_type"
            ],
            "properties": {
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "template_type": {
                    "$ref": "#/definitions/cloudconfig.TemplateType"
                },
                "tenant_id": {
                    "description": "Own Tenant ID, only for TemplateTypeTenantDefault",
                    "type": "string"
                }
            }
        },
        "cloudconfig.ConfigurationVersionChange": {
            "type": "object",
            "properties": {
                "from": {
                    "type": "string"
                },
                "id": {
                    "description": "ID is the id in the database.",
                    "type": "integer"
                },
                "to": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.CreateClusterConfigurationChangeReq": {
            "type": "object",
            "required": [
                "cluster_id",
                "cluster_type"
            ],
            "properties": {
                "apply_policy": {
                    "$ref": "#/definitions/cloudconfig.ParameterApplyPolicy"
                },
                "change_type": {
                    "type": "string"
                },
                "cluster_id": {
                    "type": "string"
                },
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "components": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ChangeComponentReq"
                    }
                },
                "execution_window": {
                    "$ref": "#/definitions/cluster.CreateOpsExecutionWindowReq"
                },
                "files": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ChangeFileReq"
                    }
                },
                "reason": {
                    "type": "string"
                },
                "version": {
                    "$ref": "#/definitions/cloudconfig.ChangeVersionReq"
                }
            }
        },
        "cloudconfig.CreateConfigurationChangeResp": {
            "type": "object",
            "properties": {
                "change_id": {
                    "type": "integer"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.CreateConfigurationTemplateChangeReq": {
            "type": "object",
            "required": [
                "cluster_type",
                "template_type"
            ],
            "properties": {
                "apply_policy": {
                    "$ref": "#/definitions/cloudconfig.ParameterApplyPolicy"
                },
                "change_type": {
                    "type": "string"
                },
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "components": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ChangeComponentReq"
                    }
                },
                "execution_window": {
                    "$ref": "#/definitions/cluster.CreateOpsExecutionWindowReq"
                },
                "files": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ChangeFileReq"
                    }
                },
                "reason": {
                    "type": "string"
                },
                "template_type": {
                    "$ref": "#/definitions/cloudconfig.TemplateType"
                },
                "tenant_id": {
                    "description": "Own Tenant ID, only for TemplateTypeTenantDefault",
                    "type": "string"
                },
                "version": {
                    "$ref": "#/definitions/cloudconfig.ChangeVersionReq"
                }
            }
        },
        "cloudconfig.CreateDefaultConfigurationChangeReleaseReq": {
            "type": "object",
            "required": [
                "environment"
            ],
            "properties": {
                "description": {
                    "type": "string"
                },
                "environment": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.CreateDefaultConfigurationChangeResp": {
            "type": "object",
            "properties": {
                "change_id": {
                    "type": "integer"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.CreateMetaProfileReq": {
            "type": "object",
            "required": [
                "cluster_type",
                "component_image_tags",
                "profile_name",
                "tenant_id"
            ],
            "properties": {
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "component_image_tags": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "component_versions": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "config_custom_templates": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    }
                },
                "description": {
                    "type": "string"
                },
                "profile_name": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.CreateParamAttrReq": {
            "type": "object",
            "required": [
                "attribute"
            ],
            "properties": {
                "attribute": {
                    "$ref": "#/definitions/cloudconfig.ParameterAttribute"
                }
            }
        },
        "cloudconfig.CreateTemplateReq": {
            "type": "object",
            "properties": {
                "allow_assign_id": {
                    "type": "boolean"
                },
                "deny_propagation": {
                    "type": "boolean"
                },
                "template": {
                    "$ref": "#/definitions/cloudconfig.Template"
                }
            }
        },
        "cloudconfig.CreateTemplateResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.CreateTenantInitConfigurationChangeReq": {
            "type": "object",
            "required": [
                "cluster_type",
                "tenant_id"
            ],
            "properties": {
                "apply_policy": {
                    "$ref": "#/definitions/cloudconfig.ParameterApplyPolicy"
                },
                "change_type": {
                    "type": "string"
                },
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "components": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ChangeComponentReq"
                    }
                },
                "execution_window": {
                    "$ref": "#/definitions/cluster.CreateOpsExecutionWindowReq"
                },
                "files": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ChangeFileReq"
                    }
                },
                "reason": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "version": {
                    "$ref": "#/definitions/cloudconfig.ChangeVersionReq"
                }
            }
        },
        "cloudconfig.CustomTemplateInfo": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "key: config_type",
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/cloudconfig.Template"
                    }
                }
            }
        },
        "cloudconfig.DefaultComponentChange": {
            "type": "object",
            "properties": {
                "modified": {
                    "$ref": "#/definitions/cloudconfig.DefaultComponentConfigChangeData"
                },
                "origin": {
                    "$ref": "#/definitions/cloudconfig.DefaultComponentConfiguration"
                }
            }
        },
        "cloudconfig.DefaultComponentConfigChangeData": {
            "type": "object",
            "properties": {
                "base_image": {
                    "type": "string"
                },
                "image_tag": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.DefaultComponentConfiguration": {
            "type": "object",
            "properties": {
                "base_image": {
                    "type": "string"
                },
                "default_case": {
                    "$ref": "#/definitions/cloudconfig.ComponentDefaultCase"
                },
                "image_tag": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.DefaultConfigurationChange": {
            "type": "object",
            "properties": {
                "applicant": {
                    "type": "string"
                },
                "closed_at": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "integer"
                },
                "display_name": {
                    "type": "string"
                },
                "environments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "id": {
                    "type": "integer"
                },
                "item_types": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.DefaultConfigurationChangeItemType"
                    }
                },
                "phase": {
                    "$ref": "#/definitions/cloudconfig.DefaultConfigurationChangePhase"
                },
                "phase_reason": {
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.DefaultConfigurationChangeItem": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/cloudconfig.DefaultConfigurationChangeItemDataUnion"
                },
                "id": {
                    "type": "integer"
                },
                "parent_id": {
                    "description": "id of DefaultConfigurationChange",
                    "type": "integer"
                },
                "type": {
                    "$ref": "#/definitions/cloudconfig.DefaultConfigurationChangeItemType"
                }
            }
        },
        "cloudconfig.DefaultConfigurationChangeItemDataUnion": {
            "type": "object",
            "properties": {
                "default_component_config": {
                    "$ref": "#/definitions/cloudconfig.DefaultComponentChange"
                },
                "template_default_case_binding": {
                    "$ref": "#/definitions/cloudconfig.TemplateDefaultCaseBindingChange"
                },
                "version_release": {
                    "$ref": "#/definitions/cloudconfig.VersionRelease"
                }
            }
        },
        "cloudconfig.DefaultConfigurationChangeItemRelease": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "Data is the data of this release",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cloudconfig.DefaultConfigurationChangeItemReleaseDataUnion"
                        }
                    ]
                },
                "environment": {
                    "description": "Environment is the name of the environment",
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "item_id": {
                    "description": "ItemID is the id of DefaultConfigurationChangeItem",
                    "type": "integer"
                },
                "parent_id": {
                    "description": "ParentID is the id of DefaultConfigurationChange",
                    "type": "integer"
                },
                "release_number": {
                    "description": "ReleaseNumber is the number of this release, is same as the number of change release",
                    "type": "integer"
                }
            }
        },
        "cloudconfig.DefaultConfigurationChangeItemReleaseDataUnion": {
            "type": "object",
            "properties": {
                "default_component_config": {
                    "$ref": "#/definitions/cloudconfig.DefaultComponentConfigChangeData"
                },
                "template_default_case_binding": {
                    "$ref": "#/definitions/cloudconfig.TemplateDefaultCaseBindingChangeData"
                }
            }
        },
        "cloudconfig.DefaultConfigurationChangeItemType": {
            "type": "string",
            "enum": [
                "version_release",
                "template_default_case_binding",
                "default_component_config"
            ],
            "x-enum-varnames": [
                "DefaultConfigurationChangeItemTypeVersionRelease",
                "DefaultConfigurationChangeItemTypeTemplateDefaultCaseBinding",
                "DefaultConfigurationChangeItemTypeDefaultComponentConfig"
            ]
        },
        "cloudconfig.DefaultConfigurationChangePhase": {
            "type": "string",
            "enum": [
                "in_progress",
                "success",
                "terminated"
            ],
            "x-enum-varnames": [
                "DefaultConfigurationChangePhaseInProgress",
                "DefaultConfigurationChangePhaseSuccess",
                "DefaultConfigurationChangePhaseTerminated"
            ]
        },
        "cloudconfig.DefaultConfigurationChangeRelease": {
            "type": "object",
            "properties": {
                "approval_id": {
                    "description": "ApprovalID is the approval ID of this release",
                    "type": "integer"
                },
                "description": {
                    "description": "Description is the description of this release",
                    "type": "string"
                },
                "environment": {
                    "description": "Environment is the name of the environment",
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "parent_id": {
                    "description": "ParentID is the id of DefaultConfigurationChange",
                    "type": "integer"
                },
                "phase": {
                    "description": "Phase is the phase of this release",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cloudconfig.DefaultConfigurationChangeReleasePhase"
                        }
                    ]
                },
                "release_number": {
                    "description": "ReleaseNumber is the number of this release.",
                    "type": "integer"
                },
                "released_at": {
                    "description": "ReleasedAt is the last time when the change is released in `Environment`",
                    "type": "integer"
                }
            }
        },
        "cloudconfig.DefaultConfigurationChangeReleasePhase": {
            "type": "string",
            "enum": [
                "approving",
                "released",
                "rollbacked",
                "cancelled"
            ],
            "x-enum-varnames": [
                "DefaultConfigurationChangeReleasePhaseApproving",
                "DefaultConfigurationChangeReleasePhaseReleased",
                "DefaultConfigurationChangeReleasePhaseRollback",
                "DefaultConfigurationChangeReleasePhaseCancelled"
            ]
        },
        "cloudconfig.DefaultVersionRule": {
            "type": "object",
            "properties": {
                "cloud_provider": {
                    "type": "string"
                },
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "cluster_version": {
                    "type": "string"
                },
                "component": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.DeleteTemplateDefaultCaseBindingByOpReq": {
            "type": "object",
            "properties": {
                "default_case_bindings": {
                    "$ref": "#/definitions/cloudconfig.TemplateDefaultCaseBinding"
                },
                "reason": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.DeleteTemplateDefaultCaseBindingResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.DiffTemplateResp": {
            "type": "object",
            "properties": {
                "changed_parameters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ChangedParameter"
                    }
                },
                "config_type": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.FileConfiguration": {
            "type": "object",
            "properties": {
                "all_parameters": {
                    "description": "key: parameter name",
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/cloudconfig.UnifiedParameter"
                    }
                },
                "belong_to_component": {
                    "type": "string"
                },
                "config_type": {
                    "type": "string"
                },
                "filename": {
                    "type": "string"
                },
                "format": {
                    "type": "string"
                },
                "template_id": {
                    "type": "integer"
                },
                "text": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.GetConfigurationChangeResp": {
            "type": "object",
            "properties": {
                "change": {
                    "$ref": "#/definitions/cloudconfig.ConfigurationChange"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.GetConfigurationResp": {
            "type": "object",
            "properties": {
                "changeable": {
                    "$ref": "#/definitions/cloudconfig.ConfigurationChangeable"
                },
                "configuration": {
                    "$ref": "#/definitions/cloudconfig.Configuration"
                },
                "default_version": {
                    "$ref": "#/definitions/cloudconfig.TenantVersions"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.GetDefaultConfigurationChangeRelease": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "release": {
                    "$ref": "#/definitions/cloudconfig.DefaultConfigurationChangeRelease"
                },
                "released_items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.DefaultConfigurationChangeItem"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.GetDefaultConfigurationChangeResp": {
            "type": "object",
            "properties": {
                "change": {
                    "$ref": "#/definitions/cloudconfig.DefaultConfigurationChange"
                },
                "change_items": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "$ref": "#/definitions/cloudconfig.DefaultConfigurationChangeItem"
                        }
                    }
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.GetInternalChangefeedResp": {
            "type": "object",
            "properties": {
                "changefeed": {
                    "$ref": "#/definitions/cloudconfig.InternalChangefeed"
                }
            }
        },
        "cloudconfig.GetInternalTiCDCClusterResp": {
            "type": "object",
            "properties": {
                "ticdc_cluster": {
                    "$ref": "#/definitions/cloudconfig.InternalTiCDCCluster"
                }
            }
        },
        "cloudconfig.GetParamAttrResp": {
            "type": "object",
            "properties": {
                "attribute": {
                    "$ref": "#/definitions/cloudconfig.ParameterAttribute"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.GetTemplateResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "template": {
                    "$ref": "#/definitions/cloudconfig.Template"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ImportVersionsReq": {
            "type": "object",
            "properties": {
                "gitops_branch": {
                    "type": "string"
                },
                "max_version": {
                    "type": "string"
                },
                "min_version": {
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                },
                "tier_branch": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ImportVersionsResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.InternalChangefeed": {
            "type": "object",
            "properties": {
                "arch": {
                    "type": "string"
                },
                "checkpoint_ts": {
                    "type": "integer"
                },
                "checkpoint_tso": {
                    "type": "string"
                },
                "cluster_type": {
                    "type": "string"
                },
                "created_at": {
                    "description": "timestamp",
                    "type": "integer"
                },
                "display_id": {
                    "type": "string"
                },
                "display_name": {
                    "type": "string"
                },
                "downstream_config": {
                    "type": "object",
                    "additionalProperties": true
                },
                "downstream_type": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "network_info": {
                    "$ref": "#/definitions/cloudconfig.ChangefeedNetworkInfo"
                },
                "rcu": {
                    "type": "string"
                },
                "start_position": {
                    "$ref": "#/definitions/cloudconfig.ChangefeedStartPosition"
                },
                "status": {
                    "type": "string"
                },
                "table_config": {
                    "$ref": "#/definitions/cloudconfig.ChangefeedTableConfig"
                },
                "ticdc_cluster": {
                    "$ref": "#/definitions/cloudconfig.InternalTiCDCCluster"
                },
                "ticdc_cluster_name": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.InternalTiCDCCluster": {
            "type": "object",
            "properties": {
                "cluster_type": {
                    "type": "string"
                },
                "control_plane_arch": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "deploy_type": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "operator_version": {
                    "type": "string"
                },
                "provider_type": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "specification_code": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tidb_cluster_id": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ListAvailableClusterVersionsResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.AvailableClusterVersion"
                    }
                }
            }
        },
        "cloudconfig.ListAvailableComponentVersionsResp": {
            "type": "object",
            "properties": {
                "detail": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ComponentInfo"
                    }
                },
                "versions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "cloudconfig.ListComponentImageUpdateRecordsResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/operation.Instance"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ListComponentsResp": {
            "type": "object",
            "properties": {
                "components": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "cloudconfig.ListConfigTypesResp": {
            "type": "object",
            "properties": {
                "config_types": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "cloudconfig.ListConfigurationChangeResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ConfigurationChange"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ListDefaultConfigurationChangeItemReleaseResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.DefaultConfigurationChangeItemRelease"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ListDefaultConfigurationChangeItemsResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.DefaultConfigurationChangeItem"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "cloudconfig.ListDefaultConfigurationChangeReleasesResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.DefaultConfigurationChangeRelease"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ListDefaultConfigurationChangesResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.DefaultConfigurationChange"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ListDefaultVersionRulesResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "rules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.DefaultVersionRule"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ListInstanceTypesResp": {
            "type": "object",
            "properties": {
                "instance_types": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.CloudInstanceType"
                    }
                }
            }
        },
        "cloudconfig.ListInternalChangefeedsResp": {
            "type": "object",
            "properties": {
                "changefeeds": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.InternalChangefeed"
                    }
                }
            }
        },
        "cloudconfig.ListMetaProfilesResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.MetaProfile"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "cloudconfig.ListParamAttrResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ParameterAttribute"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ListParamVersionsResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                },
                "versions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "cloudconfig.ListTemplateDefaultCaseBindingsResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.TemplateDefaultCaseBinding"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "cloudconfig.ListTemplatesResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.Template"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ListUnreleasedDefaultConfigurationChangeItemsResp": {
            "type": "object",
            "properties": {
                "unreleased_items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.DefaultConfigurationChangeItem"
                    }
                }
            }
        },
        "cloudconfig.MetaProfile": {
            "type": "object",
            "properties": {
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "component_image_tags": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "component_versions": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "config_custom_templates": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    }
                },
                "description": {
                    "type": "string"
                },
                "profile_id": {
                    "type": "integer"
                },
                "profile_name": {
                    "type": "string"
                },
                "tags": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                }
            }
        },
        "cloudconfig.NamedParameter": {
            "type": "object",
            "properties": {
                "comment": {
                    "description": "Comment is the comment of this parameter",
                    "type": "string"
                },
                "name": {
                    "description": "Name is the name of this parameter",
                    "type": "string"
                },
                "value": {
                    "description": "Value is the value of this parameter"
                }
            }
        },
        "cloudconfig.OperationResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "description": "the operation instance id",
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ParameterApplyPolicy": {
            "type": "string",
            "enum": [
                "None",
                "HotReload",
                "RollingRestart",
                "EnsureUpdateToTC",
                "NewInstancesOnly",
                "ForceRestart"
            ],
            "x-enum-comments": {
                "ParameterApplyPolicyNewInstancesOnly": "only used by dm currently"
            },
            "x-enum-varnames": [
                "ParameterApplyPolicyNone",
                "ParameterApplyPolicyHotReload",
                "ParameterApplyPolicyRestart",
                "ParameterApplyPolicyEnsureUpdateToTC",
                "ParameterApplyPolicyNewInstancesOnly",
                "ParameterApplyPolicyForceRestart"
            ]
        },
        "cloudconfig.ParameterAttribute": {
            "type": "object",
            "properties": {
                "apply_policy": {
                    "$ref": "#/definitions/cloudconfig.ParameterApplyPolicy"
                },
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "config_type": {
                    "type": "string"
                },
                "default_value": {},
                "description": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "risk_level": {
                    "description": "\"low\" or \"high\"",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cloudconfig.RiskLevel"
                        }
                    ]
                },
                "type": {
                    "type": "string"
                },
                "updated_by": {
                    "type": "string"
                },
                "validation": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ParameterSource": {
            "type": "string",
            "enum": [
                "custom",
                "template",
                "kernel default"
            ],
            "x-enum-varnames": [
                "ParameterCustom",
                "ParameterTemplate",
                "ParameterKernelDefault"
            ]
        },
        "cloudconfig.ParameterValue": {
            "type": "object",
            "properties": {
                "comment": {
                    "description": "Comment is the comment of this parameter",
                    "type": "string"
                },
                "value": {
                    "description": "Value is the value of this parameter"
                }
            }
        },
        "cloudconfig.PreviewClusterConfigurationChangeReq": {
            "type": "object",
            "required": [
                "cluster_id",
                "cluster_type"
            ],
            "properties": {
                "change_type": {
                    "type": "string"
                },
                "cluster_id": {
                    "type": "string"
                },
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "components": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ChangeComponentReq"
                    }
                },
                "files": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ChangeFileReq"
                    }
                },
                "version": {
                    "$ref": "#/definitions/cloudconfig.ChangeVersionReq"
                }
            }
        },
        "cloudconfig.PreviewConfigurationChangeResp": {
            "type": "object",
            "properties": {
                "apply_policies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ParameterApplyPolicy"
                    }
                },
                "change": {
                    "$ref": "#/definitions/cloudconfig.ConfigurationChange"
                },
                "configuration": {
                    "$ref": "#/definitions/cloudconfig.Configuration"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "reasons": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.PreviewTenantInitConfigurationChangeReq": {
            "type": "object",
            "required": [
                "cluster_type",
                "tenant_id"
            ],
            "properties": {
                "change_type": {
                    "type": "string"
                },
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "components": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ChangeComponentReq"
                    }
                },
                "files": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ChangeFileReq"
                    }
                },
                "tenant_id": {
                    "type": "string"
                },
                "version": {
                    "$ref": "#/definitions/cloudconfig.ChangeVersionReq"
                }
            }
        },
        "cloudconfig.ReleaseVersionReq": {
            "type": "object",
            "properties": {
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "source_version": {
                    "type": "string"
                },
                "target_version": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.RiskLevel": {
            "type": "string",
            "enum": [
                "low",
                "high"
            ],
            "x-enum-varnames": [
                "RiskLevelLow",
                "RiskLevelHigh"
            ]
        },
        "cloudconfig.RollbackDefaultConfigurationChangeReleaseReq": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "environment": {
                    "type": "string"
                },
                "release_number": {
                    "type": "integer"
                }
            }
        },
        "cloudconfig.SearchClusterComponentsResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ClusterComponentVersion"
                    }
                },
                "partial_failure": {
                    "type": "boolean"
                },
                "region_results": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.ClusterComponentSearchRegionResult"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.ShutdownTiCDCReq": {
            "type": "object",
            "required": [
                "cloud_config_change_id"
            ],
            "properties": {
                "cloud_config_change_id": {
                    "type": "integer"
                }
            }
        },
        "cloudconfig.StatDefaultConfigurationChangeItemsResp": {
            "type": "object",
            "properties": {
                "config_types_of_template_default_case_binding": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "cloudconfig.Template": {
            "type": "object",
            "properties": {
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "config_type": {
                    "type": "string"
                },
                "custom_template_info": {
                    "$ref": "#/definitions/cloudconfig.CustomTemplateInfo"
                },
                "default_cases": {
                    "description": "Output only",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.TemplateDefaultCase"
                    }
                },
                "id": {
                    "description": "id in the config center",
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "parameters": {
                    "description": "key: parameter name",
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/cloudconfig.NamedParameter"
                    }
                },
                "tags": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                }
            }
        },
        "cloudconfig.TemplateDefaultCase": {
            "type": "object",
            "properties": {
                "cloud_provider": {
                    "type": "string"
                },
                "config_type": {
                    "type": "string"
                },
                "instance_type": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.TemplateDefaultCaseBinding": {
            "type": "object",
            "properties": {
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "default_case": {
                    "$ref": "#/definitions/cloudconfig.TemplateDefaultCase"
                },
                "template_id": {
                    "type": "integer"
                }
            }
        },
        "cloudconfig.TemplateDefaultCaseBindingChange": {
            "type": "object",
            "properties": {
                "modified": {
                    "description": "default as origin",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cloudconfig.TemplateDefaultCaseBindingChangeData"
                        }
                    ]
                },
                "origin": {
                    "$ref": "#/definitions/cloudconfig.TemplateDefaultCaseBinding"
                }
            }
        },
        "cloudconfig.TemplateDefaultCaseBindingChangeData": {
            "type": "object",
            "properties": {
                "template_id": {
                    "type": "integer"
                }
            }
        },
        "cloudconfig.TemplateType": {
            "type": "string",
            "enum": [
                "unspecified",
                "custom",
                "custom_part",
                "tenant_default"
            ],
            "x-enum-comments": {
                "TemplateTypeCustomPart": "internal use only"
            },
            "x-enum-varnames": [
                "TemplateTypeUnspecified",
                "TemplateTypeCustom",
                "TemplateTypeCustomPart",
                "TemplateTypeTenantDefault"
            ]
        },
        "cloudconfig.TenantImages": {
            "type": "object",
            "additionalProperties": {
                "$ref": "#/definitions/cloudconfig.Component"
            }
        },
        "cloudconfig.TenantInitConfigurationLocator": {
            "type": "object",
            "required": [
                "cluster_type",
                "tenant_id"
            ],
            "properties": {
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "tenant_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.TenantVersions": {
            "type": "object",
            "properties": {
                "data-migration": {
                    "type": "string"
                },
                "tidb": {
                    "type": "string"
                },
                "tiproxy": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.UnifiedParameter": {
            "type": "object",
            "properties": {
                "attribute": {
                    "description": "Attribute is the attribute of this config\nIt may be nil if the parameter is not defined in the param dict.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cloudconfig.ParameterAttribute"
                        }
                    ]
                },
                "comment": {
                    "description": "Comment is the comment of this parameter",
                    "type": "string"
                },
                "custom": {
                    "description": "Custom is the custom config value",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cloudconfig.ParameterValue"
                        }
                    ]
                },
                "name": {
                    "description": "Name is the name of this parameter",
                    "type": "string"
                },
                "source": {
                    "description": "Source is the value source of this parameter",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cloudconfig.ParameterSource"
                        }
                    ]
                },
                "template": {
                    "description": "Template is the template config value",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cloudconfig.ParameterValue"
                        }
                    ]
                },
                "value": {
                    "description": "Value is the value of this parameter"
                }
            }
        },
        "cloudconfig.UpdateComponentImageReq": {
            "type": "object",
            "properties": {
                "author": {
                    "type": "string"
                },
                "base_image": {
                    "type": "string"
                },
                "change_id": {
                    "type": "string"
                },
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "policy": {
                    "$ref": "#/definitions/operation.ActionStartPolicy"
                },
                "release_id": {
                    "type": "string"
                },
                "tag": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.UpdateDefaultClusterVersionReq": {
            "type": "object",
            "properties": {
                "is_default": {
                    "type": "boolean"
                }
            }
        },
        "cloudconfig.UpdateDefaultClusterVersionResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.UpdateParamAttrReq": {
            "type": "object",
            "properties": {
                "apply_policy": {
                    "$ref": "#/definitions/cloudconfig.ParameterApplyPolicy"
                },
                "default_value": {},
                "description": {
                    "type": "string"
                },
                "risk_level": {
                    "$ref": "#/definitions/cloudconfig.RiskLevel"
                },
                "updated_by": {
                    "type": "string"
                },
                "validation": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.UpdateTemplateDefaultCaseBindingByOpReq": {
            "type": "object",
            "properties": {
                "default_case_bindings": {
                    "$ref": "#/definitions/cloudconfig.TemplateDefaultCaseBinding"
                },
                "reason": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.UpdateTemplateDefaultCaseBindingResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cloudconfig.UpdateTemplateDefaultCaseBindingsReq": {
            "type": "object",
            "properties": {
                "default_cases": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cloudconfig.TemplateDefaultCaseBinding"
                    }
                }
            }
        },
        "cloudconfig.UsedParameter": {
            "type": "object",
            "properties": {
                "comment": {
                    "description": "Comment is the comment of this parameter",
                    "type": "string"
                },
                "name": {
                    "description": "Name is the name of this parameter",
                    "type": "string"
                },
                "source": {
                    "description": "Source is the value source of this parameter",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cloudconfig.ParameterSource"
                        }
                    ]
                },
                "value": {
                    "description": "Value is the value of this parameter"
                }
            }
        },
        "cloudconfig.VersionRelease": {
            "type": "object",
            "properties": {
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "covering_instance_types": {
                    "description": "encoded Instance Types",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "source_version": {
                    "type": "string"
                },
                "target_version": {
                    "type": "string"
                }
            }
        },
        "cluster.ApplyHeterogeneousDeployRequest": {
            "type": "object",
            "required": [
                "component_type"
            ],
            "properties": {
                "alternative_instance_type": {
                    "type": "string"
                },
                "component_type": {
                    "$ref": "#/definitions/cluster.ComponentType"
                },
                "current_instance_type": {
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                },
                "tidb_group_id": {
                    "type": "string"
                }
            }
        },
        "cluster.ApplyHeterogeneousDeployResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.Cluster": {
            "type": "object",
            "properties": {
                "cluster_components": {
                    "$ref": "#/definitions/cluster.ClusterComponent"
                },
                "create_time": {
                    "type": "integer"
                },
                "cross_account_deployment_id": {
                    "type": "integer"
                },
                "deploy_type": {
                    "description": "supported \"DEPLOY_TYPE_NEXTGEN\", \"DEPLOY_TYPE_DEDICATED\", \"DEPLOY_TYPE_SERVERLESS\". Empty string for cloud native",
                    "type": "string"
                },
                "id": {
                    "type": "string",
                    "example": "0"
                },
                "is_dev_tier": {
                    "type": "boolean"
                },
                "is_new_arch": {
                    "description": "set to true if the cluster is serverless",
                    "type": "boolean"
                },
                "logical_region": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "nextgen_details": {
                    "description": "only filled in get api, not in list api",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cluster.NextGenDetails"
                        }
                    ]
                },
                "profile": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string",
                    "example": "0"
                },
                "project_name": {
                    "type": "string"
                },
                "provider": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "resource_pool_details": {
                    "$ref": "#/definitions/cluster.ResourcePoolDetails"
                },
                "serverless_details": {
                    "description": "only filled in get api, not in list api",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cluster.ServerlessDetails"
                        }
                    ]
                },
                "service_plan": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string",
                    "example": "0"
                },
                "tenant_name": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "cluster.ClusterComponent": {
            "type": "object",
            "properties": {
                "pd": {
                    "$ref": "#/definitions/cluster.Component"
                },
                "tidb": {
                    "$ref": "#/definitions/cluster.Component"
                },
                "tiflash": {
                    "$ref": "#/definitions/cluster.Component"
                },
                "tikv": {
                    "$ref": "#/definitions/cluster.Component"
                },
                "tiproxy": {
                    "$ref": "#/definitions/cluster.Component"
                }
            }
        },
        "cluster.CommonResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "description": "the operation instance id",
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.Component": {
            "type": "object",
            "properties": {
                "machineType": {
                    "description": "TODO(chenfei): remove. used by gitops to overlay configuration for component for now",
                    "type": "string"
                },
                "node_profile": {
                    "$ref": "#/definitions/cluster.NodeProfileOfComponent"
                },
                "replicas": {
                    "type": "integer"
                },
                "storage_type": {
                    "type": "string"
                }
            }
        },
        "cluster.ComponentInfo": {
            "type": "object",
            "properties": {
                "component_type": {
                    "$ref": "#/definitions/cluster.ComponentType"
                },
                "count": {
                    "type": "integer"
                },
                "cpu_num": {
                    "type": "integer"
                },
                "host_id": {
                    "type": "string"
                },
                "instance_cpu_arch": {
                    "type": "string"
                },
                "instance_type": {
                    "type": "string"
                },
                "internal_endpoint": {
                    "type": "string"
                },
                "is_default_tidb_group": {
                    "type": "boolean"
                },
                "memory_size_gi": {
                    "type": "integer"
                },
                "phase": {
                    "type": "string"
                },
                "private_link_service": {
                    "$ref": "#/definitions/cluster.PrivateLinkServiceInfo"
                },
                "privatelink_dns_name": {
                    "type": "string"
                },
                "spu_display_name": {
                    "type": "string"
                },
                "spu_name": {
                    "type": "string"
                },
                "storages": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/cluster.ComponentStorage"
                    }
                },
                "tidb_group_display_name": {
                    "type": "string"
                },
                "tidb_group_id": {
                    "type": "string"
                }
            }
        },
        "cluster.ComponentStorage": {
            "type": "object",
            "properties": {
                "additional_iops": {
                    "type": "integer"
                },
                "component_id": {
                    "type": "integer"
                },
                "disk_type": {
                    "type": "string"
                },
                "iops": {
                    "type": "integer"
                },
                "size_gi": {
                    "type": "integer"
                },
                "storage_id": {
                    "type": "integer"
                },
                "throughput_mibps": {
                    "type": "integer"
                },
                "volume_type": {
                    "type": "string"
                }
            }
        },
        "cluster.ComponentType": {
            "type": "string",
            "enum": [
                "tikv",
                "tidb",
                "tiflash",
                "pd",
                "tiproxy",
                "ticdc",
                "cassandra"
            ],
            "x-enum-varnames": [
                "ComponentTypeTikv",
                "ComponentTypeTidb",
                "ComponentTypeTiflash",
                "ComponentTypePd",
                "ComponentTypeTiproxy",
                "ComponentTypeTicdc",
                "ComponentTypeCassandra"
            ]
        },
        "cluster.CreateClusterOpsMaintenanceWindowReq": {
            "type": "object",
            "required": [
                "cluster_id",
                "windows"
            ],
            "properties": {
                "approvers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "cluster_id": {
                    "type": "string"
                },
                "windows": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/maintenance.ClusterOpsMaintenanceWindowSlot"
                    }
                }
            }
        },
        "cluster.CreateClusterOpsMaintenanceWindowResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "item": {
                    "$ref": "#/definitions/maintenance.ClusterOpsMaintenanceWindow"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.CreateDedicatedToPremiumPrecheckReq": {
            "type": "object",
            "required": [
                "source_cluster_id"
            ],
            "properties": {
                "migration_account_email": {
                    "type": "string"
                },
                "source_cluster_id": {
                    "type": "string"
                },
                "target_premium_project_id": {
                    "type": "string"
                }
            }
        },
        "cluster.CreateMaintenanceReq": {
            "type": "object",
            "properties": {
                "cluster_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "deadline": {
                    "description": "unix",
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                }
            }
        },
        "cluster.CreateMaintenanceResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.CreateMigrationClusterConfigSyncRequest": {
            "type": "object",
            "properties": {
                "allow_fallback_to_backup": {
                    "type": "boolean"
                },
                "skip_pd_config": {
                    "type": "boolean"
                },
                "skip_pd_server_config": {
                    "type": "boolean"
                },
                "skip_placement_rules": {
                    "type": "boolean"
                },
                "skip_store_limits": {
                    "type": "boolean"
                },
                "skip_system_variables": {
                    "type": "boolean"
                }
            }
        },
        "cluster.CreateMigrationClusterPDNodeRequest": {
            "type": "object",
            "properties": {
                "node_spec_key": {
                    "type": "string"
                }
            }
        },
        "cluster.CreateMigrationClusterRequest": {
            "type": "object",
            "required": [
                "cluster_display_name"
            ],
            "properties": {
                "backup_id": {
                    "type": "string"
                },
                "backup_region_id": {
                    "type": "string"
                },
                "br_custom_options": {
                    "type": "string"
                },
                "br_image_tag": {
                    "type": "string"
                },
                "br_version": {
                    "type": "string"
                },
                "cluster_display_name": {
                    "type": "string"
                },
                "config_sync_strategy": {
                    "$ref": "#/definitions/cluster.CreateMigrationClusterConfigSyncRequest"
                },
                "create_pd_image_tag": {
                    "type": "string"
                },
                "create_tidb_image_tag": {
                    "type": "string"
                },
                "create_tiflash_image_tag": {
                    "type": "string"
                },
                "create_tikv_image_tag": {
                    "type": "string"
                },
                "pd_image_tag": {
                    "type": "string"
                },
                "pd_node_setting": {
                    "$ref": "#/definitions/cluster.CreateMigrationClusterPDNodeRequest"
                },
                "reason": {
                    "type": "string"
                },
                "restore_mode": {
                    "type": "string"
                },
                "target_cluster_version": {
                    "type": "string"
                },
                "target_project_id": {
                    "type": "string"
                },
                "target_region_id": {
                    "type": "string"
                },
                "tidb_image_tag": {
                    "type": "string"
                },
                "tidb_node_setting": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.CreateMigrationClusterTiDBNodeRequest"
                    }
                },
                "tiflash_image_tag": {
                    "type": "string"
                },
                "tiflash_node_setting": {
                    "$ref": "#/definitions/cluster.CreateMigrationClusterStorageNodeRequest"
                },
                "tikv_image_tag": {
                    "type": "string"
                },
                "tikv_node_setting": {
                    "$ref": "#/definitions/cluster.CreateMigrationClusterStorageNodeRequest"
                }
            }
        },
        "cluster.CreateMigrationClusterResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.CreateMigrationClusterStorageNodeRequest": {
            "type": "object",
            "properties": {
                "node_count": {
                    "type": "integer"
                },
                "node_spec_key": {
                    "type": "string"
                }
            }
        },
        "cluster.CreateMigrationClusterTiDBNodeRequest": {
            "type": "object",
            "required": [
                "display_name"
            ],
            "properties": {
                "display_name": {
                    "type": "string"
                },
                "is_default_group": {
                    "type": "boolean"
                },
                "node_count": {
                    "type": "integer"
                },
                "node_spec_key": {
                    "type": "string"
                }
            }
        },
        "cluster.CreateOpsExecutionWindowReq": {
            "type": "object",
            "properties": {
                "end_at": {
                    "type": "integer"
                },
                "start_at": {
                    "type": "integer"
                }
            }
        },
        "cluster.CreateTrafficReplayRequest": {
            "type": "object",
            "required": [
                "cluster_id",
                "replay_spec",
                "tenant_id"
            ],
            "properties": {
                "cluster_id": {
                    "type": "string"
                },
                "replay_spec": {
                    "$ref": "#/definitions/cluster.TrafficReplaySpec"
                },
                "tenant_id": {
                    "type": "string"
                }
            }
        },
        "cluster.CreateTrafficReplayResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.CreateVPCPeeringReq": {
            "type": "object",
            "required": [
                "cidr",
                "cloud_account_id",
                "cloud_provider",
                "reason",
                "region",
                "vpc_id"
            ],
            "properties": {
                "cidr": {
                    "type": "string"
                },
                "cloud_account_id": {
                    "type": "string"
                },
                "cloud_provider": {
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "vpc_id": {
                    "type": "string"
                }
            }
        },
        "cluster.DedicatedToPremiumPrecheck": {
            "type": "object",
            "properties": {
                "applicant": {
                    "type": "string"
                },
                "create_time": {
                    "type": "string"
                },
                "failure_message": {
                    "type": "string"
                },
                "finish_time": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "migration_account_email": {
                    "type": "string"
                },
                "reports": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.DedicatedToPremiumPrecheckReport"
                    }
                },
                "source_cluster_id": {
                    "type": "string"
                },
                "start_time": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "target_premium_project_id": {
                    "type": "string"
                },
                "update_time": {
                    "type": "string"
                }
            }
        },
        "cluster.DedicatedToPremiumPrecheckItem": {
            "type": "object",
            "properties": {
                "action": {
                    "type": "string"
                },
                "check_key": {
                    "type": "string"
                },
                "evidence": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "why": {
                    "type": "string"
                }
            }
        },
        "cluster.DedicatedToPremiumPrecheckReport": {
            "type": "object",
            "properties": {
                "category": {
                    "type": "string"
                },
                "complete": {
                    "type": "boolean"
                },
                "execution_error": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.DedicatedToPremiumPrecheckItem"
                    }
                },
                "summary": {
                    "$ref": "#/definitions/cluster.DedicatedToPremiumPrecheckSummary"
                }
            }
        },
        "cluster.DedicatedToPremiumPrecheckResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "precheck": {
                    "$ref": "#/definitions/cluster.DedicatedToPremiumPrecheck"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.DedicatedToPremiumPrecheckSummary": {
            "type": "object",
            "properties": {
                "needs_input_count": {
                    "type": "integer"
                },
                "no_risk_found_count": {
                    "type": "integer"
                },
                "risk_found_count": {
                    "type": "integer"
                },
                "total_count": {
                    "type": "integer"
                }
            }
        },
        "cluster.DeleteHeterogeneousDeployRequest": {
            "type": "object",
            "required": [
                "component_type"
            ],
            "properties": {
                "component_type": {
                    "$ref": "#/definitions/cluster.ComponentType"
                },
                "reason": {
                    "type": "string"
                },
                "tidb_group_id": {
                    "type": "string"
                }
            }
        },
        "cluster.DeleteHeterogeneousDeployResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.DeleteTrafficReplayResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.DeleteVPCPeeringReq": {
            "type": "object",
            "required": [
                "reason"
            ],
            "properties": {
                "reason": {
                    "type": "string"
                }
            }
        },
        "cluster.ExecCtlReq": {
            "type": "object",
            "properties": {
                "command": {
                    "type": "string"
                }
            }
        },
        "cluster.ExecCtlResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "stderr": {
                    "type": "string"
                },
                "stdout": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.GetAlertSummaryResp": {
            "type": "object",
            "properties": {
                "trends": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/jira.SeriesTrend"
                    }
                }
            }
        },
        "cluster.GetCloudIAMInfoResp": {
            "type": "object",
            "properties": {
                "bucket_name": {
                    "type": "string"
                },
                "cloud_provider": {
                    "type": "string"
                },
                "logical_name": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "tidb_cloud_account_external_id": {
                    "type": "string"
                },
                "tidb_cloud_account_id": {
                    "type": "string"
                }
            }
        },
        "cluster.GetClusterComponentsResp": {
            "type": "object",
            "properties": {
                "cassandra": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.ComponentInfo"
                    }
                },
                "pd": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.ComponentInfo"
                    }
                },
                "tidb": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.ComponentInfo"
                    }
                },
                "tiflash": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.ComponentInfo"
                    }
                },
                "tiflash_storage_type": {
                    "type": "string"
                },
                "tikv": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.ComponentInfo"
                    }
                },
                "tikv_storage_type": {
                    "type": "string"
                },
                "tiproxy": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.ComponentInfo"
                    }
                }
            }
        },
        "cluster.GetClusterOpsMaintenanceWindowResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "item": {
                    "$ref": "#/definitions/maintenance.ClusterOpsMaintenanceWindow"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.GetClusterResp": {
            "type": "object",
            "properties": {
                "cluster_components": {
                    "$ref": "#/definitions/cluster.ClusterComponent"
                },
                "create_time": {
                    "type": "integer"
                },
                "cross_account_deployment_id": {
                    "type": "integer"
                },
                "deploy_type": {
                    "description": "supported \"DEPLOY_TYPE_NEXTGEN\", \"DEPLOY_TYPE_DEDICATED\", \"DEPLOY_TYPE_SERVERLESS\". Empty string for cloud native",
                    "type": "string"
                },
                "id": {
                    "type": "string",
                    "example": "0"
                },
                "is_dev_tier": {
                    "type": "boolean"
                },
                "is_new_arch": {
                    "description": "set to true if the cluster is serverless",
                    "type": "boolean"
                },
                "logical_region": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "nextgen_details": {
                    "description": "only filled in get api, not in list api",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cluster.NextGenDetails"
                        }
                    ]
                },
                "profile": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string",
                    "example": "0"
                },
                "project_name": {
                    "type": "string"
                },
                "provider": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "resource_pool_details": {
                    "$ref": "#/definitions/cluster.ResourcePoolDetails"
                },
                "serverless_details": {
                    "description": "only filled in get api, not in list api",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cluster.ServerlessDetails"
                        }
                    ]
                },
                "service_plan": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string",
                    "example": "0"
                },
                "tenant_name": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "cluster.GetDMNamespaceResp": {
            "type": "object",
            "properties": {
                "namespace": {
                    "type": "string"
                },
                "pod_names": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "cluster.GetHeterogeneousDeployResponse": {
            "type": "object",
            "properties": {
                "deploy": {
                    "$ref": "#/definitions/cluster.HeterogeneousDeploy"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.GetMaintenanceResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "maintenance": {
                    "$ref": "#/definitions/maintenance.ClusterMaintenance"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.GetTopologyResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "topology": {
                    "$ref": "#/definitions/entity.Topology"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.GetTrafficReplayResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "replay": {
                    "$ref": "#/definitions/cluster.TrafficReplay"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.HeterogeneousDeploy": {
            "type": "object",
            "properties": {
                "alternative_instance_type": {
                    "type": "string"
                },
                "component_type": {
                    "$ref": "#/definitions/cluster.ComponentType"
                },
                "current_instance_type": {
                    "type": "string"
                },
                "enabled": {
                    "type": "boolean"
                },
                "pod_counts": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.HeterogeneousDeployPodCount"
                    }
                },
                "status": {
                    "type": "string"
                },
                "tidb_group_id": {
                    "type": "string"
                }
            }
        },
        "cluster.HeterogeneousDeployPodCount": {
            "type": "object",
            "properties": {
                "machine_type": {
                    "type": "string"
                },
                "pod_count": {
                    "type": "integer"
                }
            }
        },
        "cluster.IsInClusterOpsMaintenanceWindowResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "is": {
                    "description": "Is indicates whether the cluster is currently in ops maintenance window or no corresponding maintenance window.",
                    "type": "boolean"
                },
                "trace_id": {
                    "type": "string"
                },
                "window": {
                    "description": "Item is the maintenance window if exists.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/maintenance.ClusterOpsMaintenanceWindow"
                        }
                    ]
                }
            }
        },
        "cluster.ListAlertsResp": {
            "type": "object",
            "properties": {
                "is_last": {
                    "type": "boolean"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/jira.Alert"
                    }
                },
                "next_page_token": {
                    "type": "string"
                }
            }
        },
        "cluster.ListClusterOpsMaintenanceWindowsResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/maintenance.ClusterOpsMaintenanceWindow"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.ListClustersResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.Cluster"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "cluster.ListDedicatedToPremiumPrechecksResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.DedicatedToPremiumPrecheck"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.ListMaintenancesResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/maintenance.ClusterMaintenance"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.ListTrafficReplaysResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.TrafficReplay"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.ListVPCPeeringsResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.VPCPeering"
                    }
                }
            }
        },
        "cluster.LogicalCluster": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "tikv_group_id": {
                    "type": "string"
                }
            }
        },
        "cluster.MigratePrivateLinkRequest": {
            "type": "object",
            "required": [
                "target_cluster_id",
                "tidb_group_pairs"
            ],
            "properties": {
                "reason": {
                    "type": "string"
                },
                "target_cluster_id": {
                    "type": "string"
                },
                "tidb_group_pairs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.MigratePrivateLinkTiDBGroupPair"
                    }
                }
            }
        },
        "cluster.MigratePrivateLinkResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.MigratePrivateLinkTiDBGroupPair": {
            "type": "object",
            "required": [
                "source_tidb_group_id",
                "target_tidb_group_id"
            ],
            "properties": {
                "source_tidb_group_display_name": {
                    "type": "string"
                },
                "source_tidb_group_id": {
                    "type": "string"
                },
                "target_tidb_group_id": {
                    "type": "string"
                }
            }
        },
        "cluster.NextGenDetails": {
            "type": "object",
            "properties": {
                "data_plane_id": {
                    "type": "string"
                },
                "max_rcu": {
                    "type": "integer"
                },
                "min_rcu": {
                    "type": "integer"
                },
                "resource_pool_id": {
                    "type": "string"
                },
                "shared_pool": {
                    "description": "only filled in get api, not in list api",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cluster.SharedPool"
                        }
                    ]
                },
                "tidb_tag": {
                    "type": "string"
                },
                "tikv_group_id": {
                    "type": "string"
                }
            }
        },
        "cluster.NodeProfileCompute": {
            "type": "object",
            "properties": {
                "cpu": {
                    "type": "integer"
                },
                "memory_mi": {
                    "type": "integer"
                }
            }
        },
        "cluster.NodeProfileOfComponent": {
            "type": "object",
            "properties": {
                "compute": {
                    "$ref": "#/definitions/cluster.NodeProfileCompute"
                },
                "name": {
                    "type": "string"
                },
                "storage_gi": {
                    "type": "integer"
                }
            }
        },
        "cluster.PrivateLinkServiceInfo": {
            "type": "object",
            "properties": {
                "availability_zone_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "phase": {
                    "type": "string"
                },
                "service_name": {
                    "type": "string"
                }
            }
        },
        "cluster.ResourceConfig": {
            "type": "object",
            "properties": {
                "cluster_plan": {
                    "type": "string"
                },
                "kubernetes": {
                    "type": "string"
                },
                "max_rcu": {
                    "type": "integer"
                },
                "max_tidb_replicas": {
                    "type": "integer"
                },
                "min_rcu": {
                    "type": "integer"
                },
                "min_tidb_replicas": {
                    "type": "integer"
                },
                "ru_mode": {
                    "type": "string"
                },
                "tidb_pool": {
                    "type": "string"
                },
                "zone_redundant_enabled": {
                    "type": "boolean"
                }
            }
        },
        "cluster.ResourcePoolDetails": {
            "type": "object",
            "properties": {
                "cidr": {
                    "type": "string"
                },
                "default_orgs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "enabled_tikv_remote_workers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "instance_limit": {
                    "type": "integer"
                },
                "is_default": {
                    "type": "boolean"
                },
                "logical_clusters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.LogicalCluster"
                    }
                },
                "pd_deployment_mode": {
                    "type": "string"
                },
                "shared_pool": {
                    "description": "only filled in get api, not in list api",
                    "allOf": [
                        {
                            "$ref": "#/definitions/cluster.SharedPool"
                        }
                    ]
                },
                "tikv_tag": {
                    "type": "string"
                },
                "vcpus_limit": {
                    "type": "integer"
                }
            }
        },
        "cluster.ServerlessBranch": {
            "type": "object",
            "properties": {
                "create_time": {
                    "type": "integer"
                },
                "display_name": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "update_time": {
                    "type": "integer"
                }
            }
        },
        "cluster.ServerlessDetails": {
            "type": "object",
            "properties": {
                "branches": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.ServerlessBranch"
                    }
                },
                "column_storage": {
                    "type": "number"
                },
                "enable_customer_alert": {
                    "type": "boolean"
                },
                "keyspace_id": {
                    "type": "integer"
                },
                "keyspace_token": {
                    "type": "string"
                },
                "request_unit": {
                    "type": "integer"
                },
                "resource_config": {
                    "$ref": "#/definitions/cluster.ResourceConfig"
                },
                "row_storage": {
                    "type": "number"
                }
            }
        },
        "cluster.SharedPool": {
            "type": "object",
            "properties": {
                "component_groups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.SharedPoolComponent"
                    }
                },
                "id": {
                    "type": "string"
                },
                "phase": {
                    "type": "string"
                }
            }
        },
        "cluster.SharedPoolComponent": {
            "type": "object",
            "properties": {
                "component_type": {
                    "$ref": "#/definitions/cluster.ComponentType"
                },
                "cpu": {
                    "type": "integer"
                },
                "id": {
                    "description": "id means the component group id",
                    "type": "string"
                },
                "max_node_count": {
                    "type": "integer"
                },
                "memory_gi": {
                    "type": "integer"
                },
                "min_node_count": {
                    "type": "integer"
                },
                "node_count": {
                    "type": "integer"
                },
                "phase": {
                    "type": "string"
                },
                "storages": {
                    "description": "include storage and tikv additional storage",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.SharedPoolStorage"
                    }
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "cluster.SharedPoolStorage": {
            "type": "object",
            "properties": {
                "iops": {
                    "description": "the storage iops",
                    "type": "integer"
                },
                "name": {
                    "description": "the storage name",
                    "type": "string"
                },
                "size_gi": {
                    "description": "the storage size",
                    "type": "integer"
                },
                "throughput_mbs": {
                    "description": "the storage throughput",
                    "type": "integer"
                },
                "type": {
                    "description": "the storage type\naws s3/io2 or gcp gcs\nor azure blob",
                    "type": "string"
                }
            }
        },
        "cluster.StartTrafficReplayRequest": {
            "type": "object",
            "required": [
                "cluster_id",
                "tenant_id"
            ],
            "properties": {
                "cluster_id": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                }
            }
        },
        "cluster.StartTrafficReplayResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.StopTrafficReplayRequest": {
            "type": "object",
            "required": [
                "cluster_id",
                "tenant_id"
            ],
            "properties": {
                "cluster_id": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                }
            }
        },
        "cluster.StopTrafficReplayResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.TrafficReplay": {
            "type": "object",
            "properties": {
                "cloud_provider": {
                    "type": "string"
                },
                "cluster_id": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "current_state": {
                    "type": "string"
                },
                "desired_state": {
                    "type": "string"
                },
                "org_id": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "replay_config": {
                    "$ref": "#/definitions/cluster.TrafficReplayCommonConfig"
                },
                "replay_id": {
                    "type": "string"
                },
                "replay_image": {
                    "type": "string"
                },
                "replay_status": {
                    "$ref": "#/definitions/cluster.TrafficReplayStatus"
                },
                "replay_tasks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.TrafficReplayTask"
                    }
                },
                "replicas": {
                    "type": "integer"
                },
                "source_audit_credential": {
                    "$ref": "#/definitions/cluster.TrafficReplayAuditLogAddr"
                },
                "source_cluster_id": {
                    "type": "string"
                },
                "task_resources": {
                    "$ref": "#/definitions/cluster.TrafficReplayTaskResources"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "cluster.TrafficReplayAWSAuditLog": {
            "type": "object",
            "properties": {
                "external_id": {
                    "type": "string"
                },
                "role_arn": {
                    "type": "string"
                },
                "s3_url": {
                    "type": "string"
                }
            }
        },
        "cluster.TrafficReplayAliyunAuditLog": {
            "type": "object",
            "properties": {
                "access_key_id": {
                    "type": "string"
                },
                "bucket_url": {
                    "type": "string"
                },
                "secret_access_key": {
                    "type": "string"
                }
            }
        },
        "cluster.TrafficReplayAuditLogAddr": {
            "type": "object",
            "properties": {
                "aliyun": {
                    "$ref": "#/definitions/cluster.TrafficReplayAliyunAuditLog"
                },
                "aws": {
                    "$ref": "#/definitions/cluster.TrafficReplayAWSAuditLog"
                },
                "gcp": {
                    "$ref": "#/definitions/cluster.TrafficReplayGCPAuditLog"
                }
            }
        },
        "cluster.TrafficReplayCommonConfig": {
            "type": "object",
            "properties": {
                "password": {
                    "type": "string"
                },
                "replay_config": {
                    "$ref": "#/definitions/cluster.TrafficReplayConfig"
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "cluster.TrafficReplayConfig": {
            "type": "object",
            "properties": {
                "buf_size": {
                    "type": "integer"
                },
                "custom_arguments": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "dynamic_input": {
                    "type": "boolean"
                },
                "format": {
                    "type": "string"
                },
                "ignore_errs": {
                    "type": "boolean"
                },
                "ps_close": {
                    "type": "string"
                },
                "read_only": {
                    "type": "boolean"
                },
                "replay_index": {
                    "type": "integer"
                },
                "replay_start_time": {
                    "type": "string"
                },
                "run_start_time": {
                    "type": "string"
                },
                "speed": {
                    "type": "string"
                }
            }
        },
        "cluster.TrafficReplayDataSource": {
            "type": "object",
            "properties": {
                "source_audit_log_addrs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.TrafficReplayAuditLogAddr"
                    }
                }
            }
        },
        "cluster.TrafficReplayDataTarget": {
            "type": "object",
            "properties": {
                "endpoint": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "cluster.TrafficReplayGCPAuditLog": {
            "type": "object",
            "properties": {
                "gcs_url": {
                    "type": "string"
                },
                "service_account_json": {
                    "type": "string"
                }
            }
        },
        "cluster.TrafficReplayReplicaStatus": {
            "type": "object",
            "properties": {
                "index": {
                    "type": "integer"
                },
                "message": {
                    "type": "string"
                },
                "phase": {
                    "type": "string"
                },
                "pod_name": {
                    "type": "string"
                },
                "ready": {
                    "type": "boolean"
                },
                "task_info": {
                    "$ref": "#/definitions/cluster.TrafficReplayTaskInfo"
                }
            }
        },
        "cluster.TrafficReplaySpec": {
            "type": "object",
            "properties": {
                "cloud_provider": {
                    "type": "string"
                },
                "config_custom_arguments": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "config_replay_start_time": {
                    "type": "string"
                },
                "config_run_start_time": {
                    "type": "string"
                },
                "database_password": {
                    "type": "string"
                },
                "database_username": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "replay_image": {
                    "type": "string"
                },
                "replay_tasks": {
                    "description": "JSON encoded array of task",
                    "type": "string"
                },
                "replicas": {
                    "type": "integer"
                },
                "source_audit_credential": {
                    "$ref": "#/definitions/cluster.TrafficReplayAuditLogAddr"
                },
                "source_cluster_id": {
                    "type": "string"
                },
                "target_cluster_id": {
                    "type": "string"
                },
                "task_resources": {
                    "$ref": "#/definitions/cluster.TrafficReplayTaskResources"
                }
            }
        },
        "cluster.TrafficReplayStatus": {
            "type": "object",
            "properties": {
                "aws_node_role_arn": {
                    "type": "string"
                },
                "last_update_time": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "phase": {
                    "type": "string"
                },
                "tasks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.TrafficReplayTaskStatus"
                    }
                }
            }
        },
        "cluster.TrafficReplayTask": {
            "type": "object",
            "properties": {
                "data_source": {
                    "$ref": "#/definitions/cluster.TrafficReplayDataSource"
                },
                "data_target": {
                    "$ref": "#/definitions/cluster.TrafficReplayDataTarget"
                },
                "image": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "per_replay_configs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.TrafficReplayConfig"
                    }
                },
                "replay_start_time": {
                    "type": "string"
                },
                "replicas": {
                    "type": "integer"
                },
                "resources": {
                    "$ref": "#/definitions/cluster.TrafficReplayTaskResources"
                },
                "run_start_time": {
                    "type": "string"
                }
            }
        },
        "cluster.TrafficReplayTaskInfo": {
            "type": "object",
            "properties": {
                "end_time": {
                    "type": "string"
                },
                "error": {
                    "type": "string"
                },
                "last_command_timestamp": {
                    "type": "string"
                },
                "progress": {
                    "type": "integer"
                },
                "source_audit_log_addrs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.TrafficReplayAuditLogAddr"
                    }
                },
                "start_time": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "sync_time": {
                    "type": "string"
                },
                "total_commands": {
                    "type": "integer"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "cluster.TrafficReplayTaskResources": {
            "type": "object",
            "properties": {
                "instance_type": {
                    "type": "string"
                },
                "storage_size": {
                    "type": "string"
                }
            }
        },
        "cluster.TrafficReplayTaskStatus": {
            "type": "object",
            "properties": {
                "message": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "replica_statuses": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.TrafficReplayReplicaStatus"
                    }
                }
            }
        },
        "cluster.UpdateClusterOpsMaintenanceWindowReq": {
            "type": "object",
            "required": [
                "windows"
            ],
            "properties": {
                "approvers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "windows": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/maintenance.ClusterOpsMaintenanceWindowSlot"
                    }
                }
            }
        },
        "cluster.UpdateClusterOpsMaintenanceWindowResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "item": {
                    "$ref": "#/definitions/maintenance.ClusterOpsMaintenanceWindow"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.UpdateTrafficReplayRequest": {
            "type": "object",
            "required": [
                "cluster_id",
                "replay_spec",
                "tenant_id"
            ],
            "properties": {
                "changed_replay_spec": {
                    "type": "string"
                },
                "cluster_id": {
                    "type": "string"
                },
                "replay_spec": {
                    "$ref": "#/definitions/cluster.TrafficReplaySpec"
                },
                "tenant_id": {
                    "type": "string"
                }
            }
        },
        "cluster.UpdateTrafficReplayResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "cluster.VPCPeering": {
            "type": "object",
            "properties": {
                "destination_account_id": {
                    "type": "string"
                },
                "destination_cidr_block": {
                    "type": "string"
                },
                "destination_region": {
                    "type": "string"
                },
                "destination_vpc_id": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "provider": {
                    "type": "string"
                },
                "source_account_id": {
                    "type": "string"
                },
                "source_cidr_block": {
                    "type": "string"
                },
                "source_vpc_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "vpc_peering_connection_id": {
                    "type": "string"
                }
            }
        },
        "configcenter.AddAttributeReq": {
            "type": "object",
            "properties": {
                "apply_policy": {
                    "$ref": "#/definitions/entity.ApplyStrategy"
                },
                "id": {
                    "type": "integer"
                },
                "param_name": {
                    "type": "string"
                },
                "version": {
                    "type": "integer"
                }
            }
        },
        "configcenter.CopyFromVersionReq": {
            "type": "object",
            "properties": {
                "from_version": {
                    "type": "string"
                },
                "to_version": {
                    "type": "string"
                }
            }
        },
        "configcenter.ListAttributesResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.ConfigAttributes"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "configcenter.ModifyReq": {
            "type": "object",
            "properties": {
                "apply_policy": {
                    "$ref": "#/definitions/entity.ApplyStrategy"
                },
                "id": {
                    "type": "integer"
                },
                "param_name": {
                    "type": "string"
                },
                "version": {
                    "type": "integer"
                }
            }
        },
        "controlplane.CreateDeploymentReq": {
            "type": "object",
            "required": [
                "params",
                "scenario"
            ],
            "properties": {
                "params": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "scenario": {
                    "$ref": "#/definitions/controlplane.Scenario"
                }
            }
        },
        "controlplane.CreateDeploymentResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "controlplane.Deployment": {
            "type": "object",
            "properties": {
                "applicant": {
                    "description": "email",
                    "type": "string"
                },
                "apply_meta": {
                    "description": "ApplyMeta holds the GitHub Actions workflow run info for apply.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/controlplane.WorkflowRunMeta"
                        }
                    ]
                },
                "approval_id": {
                    "type": "integer"
                },
                "closed_at": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "integer"
                },
                "frozen_snapshot": {
                    "description": "FrozenSnapshot is set when preview is dispatched, locking down the exact\nworkflow inputs used for preview. Apply always uses this snapshot.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/controlplane.FrozenSnapshot"
                        }
                    ]
                },
                "id": {
                    "type": "integer"
                },
                "params": {
                    "description": "Params holds user-provided deployment parameters.",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "phase": {
                    "$ref": "#/definitions/controlplane.Phase"
                },
                "preview_meta": {
                    "description": "PreviewMeta holds the GitHub Actions workflow run info for preview.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/controlplane.WorkflowRunMeta"
                        }
                    ]
                },
                "scenario": {
                    "$ref": "#/definitions/controlplane.Scenario"
                }
            }
        },
        "controlplane.FrozenSnapshot": {
            "type": "object",
            "properties": {
                "frozen_at": {
                    "type": "integer"
                },
                "params": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "workflow_inputs": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "workflow_name": {
                    "type": "string"
                }
            }
        },
        "controlplane.GetDeploymentResp": {
            "type": "object",
            "properties": {
                "deployment": {
                    "$ref": "#/definitions/controlplane.Deployment"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "controlplane.ListDeploymentResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/controlplane.Deployment"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "controlplane.OnApplyCompleteReq": {
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "run_id": {
                    "type": "integer"
                },
                "run_url": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "controlplane.OnPreviewCompleteReq": {
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "run_id": {
                    "type": "integer"
                },
                "run_url": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "summary": {
                    "type": "string"
                }
            }
        },
        "controlplane.Phase": {
            "type": "string",
            "enum": [
                "created",
                "preview_pending",
                "preview_running",
                "preview_succeeded",
                "preview_failed",
                "approving",
                "apply_pending",
                "apply_running",
                "apply_succeeded",
                "apply_failed",
                "canceled"
            ],
            "x-enum-varnames": [
                "PhaseCreated",
                "PhasePreviewPending",
                "PhasePreviewRunning",
                "PhasePreviewSucceeded",
                "PhasePreviewFailed",
                "PhaseApproving",
                "PhaseApplyPending",
                "PhaseApplyRunning",
                "PhaseApplySucceeded",
                "PhaseApplyFailed",
                "PhaseCanceled"
            ]
        },
        "controlplane.Scenario": {
            "type": "string",
            "enum": [
                "aws_premium_region",
                "aws_byoc_region"
            ],
            "x-enum-varnames": [
                "ScenarioAWSPremiumRegion",
                "ScenarioAWSBYOCRegion"
            ]
        },
        "controlplane.StartPreviewResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "run_id": {
                    "type": "integer"
                },
                "run_url": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "controlplane.WorkflowRunMeta": {
            "type": "object",
            "properties": {
                "retry_count": {
                    "type": "integer"
                },
                "run_id": {
                    "type": "integer"
                },
                "run_url": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "summary": {
                    "type": "string"
                },
                "workflow_name": {
                    "type": "string"
                }
            }
        },
        "dashboard.CloudOncallInfoResp": {
            "type": "object",
            "properties": {
                "backlogTotal": {
                    "type": "integer"
                },
                "componentMonthlyTrend": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.SeriesMonthlyTrend"
                    }
                },
                "monthlyTrend": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.MonthlyTrend"
                    }
                },
                "priorityMonthlyTrends": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.SeriesMonthlyTrend"
                    }
                },
                "topTenants": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.TopTenant"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "ttrInDays": {
                    "type": "number"
                }
            }
        },
        "dashboard.CriticalAlertInfoResp": {
            "type": "object",
            "properties": {
                "alertMonthlyTrend": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.SeriesMonthlyTrend"
                    }
                },
                "backlogTotal": {
                    "type": "integer"
                },
                "majorAlertMonthlyTrend": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.SeriesMonthlyTrend"
                    }
                },
                "topTenants": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.TopTenant"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "ttrInDays": {
                    "type": "number"
                }
            }
        },
        "dashboard.GetClusterDetailOfDedicatedSLAResp": {
            "type": "object",
            "properties": {
                "clusterID": {
                    "type": "string"
                },
                "clusterName": {
                    "type": "string"
                },
                "deleted": {
                    "type": "boolean"
                },
                "downtimeList": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.ClusterDowntime"
                    }
                },
                "issueKey": {
                    "type": "string"
                },
                "issueStatus": {
                    "type": "string"
                },
                "slaStatus": {
                    "$ref": "#/definitions/entity.SLAStatus"
                },
                "slaValue": {
                    "type": "number"
                },
                "tenantID": {
                    "type": "string"
                },
                "tenantName": {
                    "type": "string"
                },
                "tidbInstance": {
                    "type": "integer"
                }
            }
        },
        "dashboard.GetClusterDetailOfNextGenSLAResp": {
            "type": "object",
            "properties": {
                "clusterDeployType": {
                    "type": "string"
                },
                "clusterID": {
                    "type": "string"
                },
                "clusterName": {
                    "type": "string"
                },
                "deleted": {
                    "type": "boolean"
                },
                "downtimeList": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.ClusterDowntime"
                    }
                },
                "issueKey": {
                    "type": "string"
                },
                "issueStatus": {
                    "type": "string"
                },
                "slaStatus": {
                    "$ref": "#/definitions/entity.SLAStatus"
                },
                "slaValue": {
                    "type": "number"
                },
                "tenantID": {
                    "type": "string"
                },
                "tenantName": {
                    "type": "string"
                }
            }
        },
        "dashboard.GetMonthlySummaryOfDedicatedSLAResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.DedicatedClusterSLABasic"
                    }
                }
            }
        },
        "dashboard.GetMonthlySummaryOfNextGenSLAResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.NextGenClusterSLABasic"
                    }
                }
            }
        },
        "dashboard.GetTop10QPSTenantsResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.TopTenant"
                    }
                }
            }
        },
        "dashboard.GetTop10TiFlashStorageTenantsResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.TopTenant"
                    }
                }
            }
        },
        "dashboard.GetTop10TiKVStorageTenantsResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.TopTenant"
                    }
                }
            }
        },
        "dashboard.IncidentInfoResp": {
            "type": "object",
            "properties": {
                "mttrInMinutes": {
                    "type": "number"
                },
                "mttrMonthlyTrends": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.MonthlyTrend"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dashboard.ReleaseInfoResp": {
            "type": "object",
            "properties": {
                "hotfixApplicationMonthlyTrends": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.SeriesMonthlyTrend"
                    }
                },
                "hotfixTotal": {
                    "type": "integer"
                },
                "sprintApplicationMonthlyTrends": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.SeriesMonthlyTrend"
                    }
                },
                "sprintTotal": {
                    "type": "integer"
                }
            }
        },
        "dashboard.SLAInfoResp": {
            "type": "object",
            "properties": {
                "dedicatedSLA": {
                    "$ref": "#/definitions/entity.SLA"
                },
                "nextGenSLA": {
                    "$ref": "#/definitions/entity.SLA"
                },
                "serverlessSLA": {
                    "$ref": "#/definitions/entity.SLA"
                }
            }
        },
        "dashboard.SLOInfoResp": {
            "type": "object",
            "properties": {
                "currentSummary": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.ApplicationSLOSummary"
                    }
                }
            }
        },
        "eecli.BumpNgTagOpsReq": {
            "type": "object",
            "properties": {
                "applicant": {
                    "type": "string"
                },
                "change_id": {
                    "type": "string"
                },
                "release_id": {
                    "type": "string"
                }
            }
        },
        "eecli.BumpNgTagReqMeta": {
            "type": "object",
            "properties": {
                "ops_req": {
                    "$ref": "#/definitions/eecli.BumpNgTagOpsReq"
                }
            }
        },
        "eecli.BumpNgTagRequest": {
            "type": "object",
            "properties": {
                "author": {
                    "type": "string"
                },
                "branch": {
                    "type": "string"
                },
                "commit": {
                    "type": "string"
                },
                "meta": {
                    "$ref": "#/definitions/eecli.BumpNgTagReqMeta"
                },
                "prLink": {
                    "type": "string"
                },
                "repo": {
                    "type": "string"
                }
            }
        },
        "entity.ApplicationSLOSummary": {
            "type": "object",
            "properties": {
                "application": {
                    "type": "string"
                },
                "slos": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.SLO"
                    }
                }
            }
        },
        "entity.ApplyStrategy": {
            "type": "string",
            "enum": [
                "HotReload",
                "RollingRestart",
                "ChangeCMOnly",
                "EnsureUpdateToTC"
            ],
            "x-enum-varnames": [
                "Hotreload",
                "Restart",
                "ChangeCMOnly",
                "EnsureUpdateToTC"
            ]
        },
        "entity.Approval": {
            "type": "object",
            "properties": {
                "admin_tasks": {
                    "description": "AdminTasks is the users who can approve/reject/cancel the approval request at any time.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.ApprovalAdminTask"
                    }
                },
                "applicant": {
                    "description": "Applicant is the user email who created the approval request.",
                    "type": "string"
                },
                "cc_tasks": {
                    "description": "CCTasks defines the users who will be notified when the approval request is **Approved**.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.ApprovalCCTask"
                    }
                },
                "configuration": {
                    "description": "Configuration is the approval configuration.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.ApprovalConfiguration"
                        }
                    ]
                },
                "detail_link": {
                    "description": "DetailLink is the link to the detail page for this request.\n\nIt is used in the notification message.",
                    "type": "string"
                },
                "end_at": {
                    "description": "EndAt is the time when the approval request is ended.",
                    "type": "integer"
                },
                "from_template": {
                    "description": "FromTemplate is the template id used to create the approval",
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "levels": {
                    "description": "Levels defines the approval workflow.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.ApprovalLevel"
                    }
                },
                "name": {
                    "description": "Name is the name of the approval request used to categorize approvals.",
                    "type": "string"
                },
                "overview": {
                    "description": "Overview is a persisted human-readable summary shown in Lark notifications (alias, target name, etc.).",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "parameters": {
                    "description": "Parameters is the full operation params used for routing (fromParam/evalCondition).",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "reason": {
                    "description": "Reason is the description of the approval request.",
                    "type": "string"
                },
                "start_at": {
                    "description": "StartAt is the time when the approval request is created.",
                    "type": "integer"
                },
                "status": {
                    "description": "Status is the status of the approval request.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.ApprovalStatus"
                        }
                    ]
                }
            }
        },
        "entity.ApprovalAdminTask": {
            "type": "object",
            "properties": {
                "end_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "status": {
                    "$ref": "#/definitions/entity.ApprovalTaskStatus"
                },
                "user_email": {
                    "description": "email",
                    "type": "string"
                }
            }
        },
        "entity.ApprovalCCTask": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "user_email": {
                    "description": "email",
                    "type": "string"
                }
            }
        },
        "entity.ApprovalConfiguration": {
            "type": "object",
            "properties": {
                "skip_applicant_notification": {
                    "type": "boolean"
                }
            }
        },
        "entity.ApprovalLevel": {
            "type": "object",
            "properties": {
                "level": {
                    "description": "first is 0, MUST be equal to the index of slice",
                    "type": "integer"
                },
                "nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.ApprovalNode"
                    }
                }
            }
        },
        "entity.ApprovalNode": {
            "type": "object",
            "properties": {
                "backup_tasks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.ApprovalTask"
                    }
                },
                "id": {
                    "description": "id in database",
                    "type": "integer"
                },
                "method": {
                    "$ref": "#/definitions/entity.ApproveMethod"
                },
                "name": {
                    "description": "Default to \"Node {Level}-{Index}\"",
                    "type": "string"
                },
                "status": {
                    "$ref": "#/definitions/entity.ApprovalNodeStatus"
                },
                "tasks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.ApprovalTask"
                    }
                }
            }
        },
        "entity.ApprovalNodeStatus": {
            "type": "string",
            "enum": [
                "PENDING",
                "APPROVED",
                "REJECTED",
                "CANCELED"
            ],
            "x-enum-varnames": [
                "ApprovalNodeStatusPending",
                "ApprovalNodeStatusApproved",
                "ApprovalNodeStatusRejected",
                "ApprovalNodeStatusCancelled"
            ]
        },
        "entity.ApprovalStatus": {
            "type": "string",
            "enum": [
                "PENDING",
                "APPROVED",
                "REJECTED",
                "CANCELED"
            ],
            "x-enum-varnames": [
                "ApprovalStatusPending",
                "ApprovalStatusApproved",
                "ApprovalStatusRejected",
                "ApprovalStatusCancelled"
            ]
        },
        "entity.ApprovalTask": {
            "type": "object",
            "properties": {
                "end_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "notify_lark_type": {
                    "$ref": "#/definitions/userv1.LarkType"
                },
                "notify_message_id": {
                    "type": "string"
                },
                "start_at": {
                    "type": "integer"
                },
                "status": {
                    "$ref": "#/definitions/entity.ApprovalTaskStatus"
                },
                "user_email": {
                    "description": "email",
                    "type": "string"
                }
            }
        },
        "entity.ApprovalTaskStatus": {
            "type": "string",
            "enum": [
                "PENDING",
                "APPROVED",
                "REJECTED",
                "Done"
            ],
            "x-enum-varnames": [
                "ApprovalTaskStatusPending",
                "ApprovalTaskStatusApproved",
                "ApprovalTaskStatusRejected",
                "ApprovalTaskStatusDone"
            ]
        },
        "entity.ApproveMethod": {
            "type": "string",
            "enum": [
                "ALL",
                "ANY"
            ],
            "x-enum-varnames": [
                "ApproveMethodAll",
                "ApproveMethodAny"
            ]
        },
        "entity.Approver": {
            "type": "object",
            "properties": {
                "applicant_leader": {
                    "description": "The applicant leader is approver",
                    "type": "boolean"
                },
                "email": {
                    "description": "Email of approver",
                    "type": "string"
                },
                "emails": {
                    "description": "Emails of approvers",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "from_param": {
                    "description": "The approver is generated from param",
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.ApproverFromParam"
                        }
                    ]
                },
                "self_approve": {
                    "description": "The applicant can approve the request by himself",
                    "type": "boolean"
                },
                "user_group": {
                    "description": "User group of approvers, defined in user service",
                    "type": "string"
                },
                "user_groups": {
                    "description": "User groups of approvers, defined in user service",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "entity.ApproverFromParam": {
            "type": "object",
            "properties": {
                "default_approver": {
                    "description": "The default approver used when approver not found",
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.Approver"
                        }
                    ]
                },
                "param_name": {
                    "description": "The name of param",
                    "type": "string"
                },
                "param_value_mapping": {
                    "description": "The value of param to approver",
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/entity.Approver"
                    }
                },
                "use_param_value": {
                    "description": "Use the param value as the approver email directly",
                    "type": "boolean"
                }
            }
        },
        "entity.ApproverNode": {
            "type": "object",
            "properties": {
                "applicant_leader": {
                    "description": "The applicant leader is approver",
                    "type": "boolean"
                },
                "condition": {
                    "description": "Condition is a string expression that evaluates to true or false. If false,\nthis node will be skipped.\n\nRefer to https://github.com/expr-lang/expr",
                    "type": "string"
                },
                "email": {
                    "description": "Email of approver",
                    "type": "string"
                },
                "emails": {
                    "description": "Emails of approvers",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "from_param": {
                    "description": "The approver is generated from param",
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.ApproverFromParam"
                        }
                    ]
                },
                "method": {
                    "description": "Method is the approval method, contains ANY, ALL.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.ApproveMethod"
                        }
                    ]
                },
                "name": {
                    "description": "Name is the name of this node.",
                    "type": "string"
                },
                "parallel": {
                    "description": "Parallel defines the parallel approver nodes.\n\nIf it is set, the other fields are ignored.\n\nOnly one level of parallel nodes is supported.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.ApproverNode"
                    }
                },
                "self_approve": {
                    "description": "The applicant can approve the request by himself",
                    "type": "boolean"
                },
                "skip_when_empty": {
                    "description": "Skip this node when the approver is empty",
                    "type": "boolean"
                },
                "user_group": {
                    "description": "User group of approvers, defined in user service",
                    "type": "string"
                },
                "user_groups": {
                    "description": "User groups of approvers, defined in user service",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "entity.ClusterDowntime": {
            "type": "object",
            "properties": {
                "comment": {
                    "type": "string"
                },
                "fake": {
                    "type": "boolean"
                },
                "timestamp": {
                    "type": "string"
                }
            }
        },
        "entity.ConfigAttributes": {
            "type": "object",
            "properties": {
                "apply_policy": {
                    "$ref": "#/definitions/entity.ApplyStrategy"
                },
                "id": {
                    "type": "integer"
                },
                "param_name": {
                    "type": "string"
                },
                "version": {
                    "type": "integer"
                }
            }
        },
        "entity.DedicatedClusterSLABasic": {
            "type": "object",
            "properties": {
                "clusterID": {
                    "type": "string"
                },
                "clusterName": {
                    "type": "string"
                },
                "deleted": {
                    "type": "boolean"
                },
                "issueKey": {
                    "type": "string"
                },
                "issueStatus": {
                    "type": "string"
                },
                "slaStatus": {
                    "$ref": "#/definitions/entity.SLAStatus"
                },
                "slaValue": {
                    "type": "number"
                },
                "tenantID": {
                    "type": "string"
                },
                "tenantName": {
                    "type": "string"
                },
                "tidbInstance": {
                    "type": "integer"
                }
            }
        },
        "entity.Incident": {
            "type": "object",
            "properties": {
                "biz_regions": {
                    "type": "string"
                },
                "components": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "fbowners": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/userv1.User"
                    }
                },
                "feishu_channel_msg": {
                    "type": "string"
                },
                "feishu_url": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "incident_resolve_time": {
                    "type": "string"
                },
                "incident_start_time": {
                    "type": "string"
                },
                "jira_issue_links": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.IncidentJiraIssueLink"
                    }
                },
                "jira_issues": {
                    "type": "string"
                },
                "leaders": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/userv1.User"
                    }
                },
                "log_items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.IncidentLogItem"
                    }
                },
                "name": {
                    "type": "string"
                },
                "oncallers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/userv1.User"
                    }
                },
                "postmortem_available": {
                    "type": "boolean"
                },
                "postmortem_todo_action_import_status": {
                    "type": "string"
                },
                "status": {
                    "$ref": "#/definitions/entity.IncidentStatus"
                },
                "tier": {
                    "$ref": "#/definitions/entity.IncidentTier"
                },
                "war_room_id": {
                    "type": "integer"
                }
            }
        },
        "entity.IncidentJiraIssueLink": {
            "type": "object",
            "properties": {
                "key": {
                    "type": "string"
                },
                "url": {
                    "type": "string"
                }
            }
        },
        "entity.IncidentLogItem": {
            "type": "object",
            "properties": {
                "created_at": {
                    "description": "Will be deprecated next release",
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "event_time": {
                    "type": "string"
                },
                "from": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "incident_id": {
                    "type": "integer"
                },
                "item_type": {
                    "$ref": "#/definitions/entity.LogItemType"
                },
                "milestone_type": {
                    "type": "string"
                },
                "postmortem_url": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "entity.IncidentPostMortem": {
            "type": "object",
            "properties": {
                "action_items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.IncidentPostMortemToDoAction"
                    }
                },
                "background": {
                    "type": "string"
                },
                "bug_mechanism": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "customer_impact_minutes": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "impact": {
                    "type": "string"
                },
                "incident_end_time": {
                    "type": "string"
                },
                "incident_id": {
                    "type": "integer"
                },
                "incident_start_time": {
                    "type": "string"
                },
                "involved_engineers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/userv1.User"
                    }
                },
                "involved_tenants": {
                    "type": "string"
                },
                "minutes_to_detect": {
                    "type": "integer"
                },
                "minutes_to_resolved": {
                    "type": "integer"
                },
                "resolution": {
                    "type": "string"
                },
                "reviewed_at": {
                    "type": "string"
                },
                "root_causes": {
                    "type": "string"
                },
                "summary": {
                    "type": "string"
                },
                "technical_impact_level": {
                    "type": "string"
                },
                "timeline": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.IncidentPostMortemTimelineItem"
                    }
                },
                "top_issues": {
                    "type": "string"
                },
                "what_did_not_work": {
                    "type": "string"
                },
                "what_worked": {
                    "type": "string"
                },
                "where_we_were_lucky": {
                    "type": "string"
                }
            }
        },
        "entity.IncidentPostMortemTimelineItem": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "happened_at": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "item_type": {
                    "type": "string"
                },
                "postmortem_id": {
                    "type": "integer"
                }
            }
        },
        "entity.IncidentPostMortemToDoAction": {
            "type": "object",
            "properties": {
                "deadline": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "feishu_task_id": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "incident_id": {
                    "type": "integer"
                },
                "linked_jira_issue": {
                    "type": "string"
                },
                "persons": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/userv1.User"
                    }
                },
                "postmortem_id": {
                    "type": "integer"
                },
                "priority": {
                    "type": "string"
                },
                "status": {
                    "description": "Open or InProgress or Done",
                    "type": "string"
                },
                "tcocp_created_at": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "entity.IncidentStatus": {
            "type": "string",
            "enum": [
                "running",
                "completed"
            ],
            "x-enum-varnames": [
                "IncidentStatusRunning",
                "IncidentStatusFinished"
            ]
        },
        "entity.IncidentTier": {
            "type": "string",
            "enum": [
                "t0",
                "t1",
                "t2",
                "t3",
                "t4"
            ],
            "x-enum-varnames": [
                "IncidentTierT0",
                "IncidentTierT1",
                "IncidentTierT2",
                "IncidentTierT3",
                "IncidentTierT4"
            ]
        },
        "entity.Instance": {
            "type": "object",
            "properties": {
                "host": {
                    "type": "string"
                },
                "port": {
                    "type": "integer"
                }
            }
        },
        "entity.LarkChatSimplified": {
            "type": "object",
            "required": [
                "id"
            ],
            "properties": {
                "avatar_url": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "is_external": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "entity.LogItemType": {
            "type": "string",
            "enum": [
                "text",
                "postmortem",
                "general",
                "milestone"
            ],
            "x-enum-varnames": [
                "LogItemTypeText",
                "LogItemTypePostMortem",
                "LogItemTypeGeneral",
                "LogItemTypeMilestone"
            ]
        },
        "entity.MonthlyTrend": {
            "type": "object",
            "properties": {
                "month": {
                    "type": "string"
                },
                "value": {
                    "type": "number"
                }
            }
        },
        "entity.NextGenClusterSLABasic": {
            "type": "object",
            "properties": {
                "clusterDeployType": {
                    "type": "string"
                },
                "clusterID": {
                    "type": "string"
                },
                "clusterName": {
                    "type": "string"
                },
                "deleted": {
                    "type": "boolean"
                },
                "issueKey": {
                    "type": "string"
                },
                "issueStatus": {
                    "type": "string"
                },
                "slaStatus": {
                    "$ref": "#/definitions/entity.SLAStatus"
                },
                "slaValue": {
                    "type": "number"
                },
                "tenantID": {
                    "type": "string"
                },
                "tenantName": {
                    "type": "string"
                }
            }
        },
        "entity.RemediationApprovalFlow": {
            "type": "object",
            "properties": {
                "current_phase": {
                    "$ref": "#/definitions/entity.RemediationTicketPhase"
                },
                "current_status": {
                    "$ref": "#/definitions/entity.RemediationTicketStatus"
                },
                "nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.RemediationApprovalFlowNode"
                    }
                },
                "ticket_id": {
                    "type": "integer"
                }
            }
        },
        "entity.RemediationApprovalFlowApprover": {
            "type": "object",
            "properties": {
                "email": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "entity.RemediationApprovalFlowNode": {
            "type": "object",
            "properties": {
                "action": {
                    "$ref": "#/definitions/entity.RemediationApprovalFlowNodeAction"
                },
                "approval_id": {
                    "type": "integer"
                },
                "approvers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.RemediationApprovalFlowApprover"
                    }
                },
                "auto_advance": {
                    "type": "boolean"
                },
                "conditional": {
                    "type": "boolean"
                },
                "current": {
                    "type": "boolean"
                },
                "label": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "operated_at": {
                    "type": "string"
                },
                "operator": {
                    "type": "string"
                },
                "phase": {
                    "$ref": "#/definitions/entity.RemediationTicketPhase"
                },
                "requires_input": {
                    "type": "boolean"
                },
                "status": {
                    "$ref": "#/definitions/entity.RemediationApprovalFlowNodeStatus"
                }
            }
        },
        "entity.RemediationApprovalFlowNodeAction": {
            "type": "string",
            "enum": [
                "none",
                "approve",
                "approve_with_input",
                "submit_input",
                "wait"
            ],
            "x-enum-varnames": [
                "RemediationApprovalFlowNodeActionNone",
                "RemediationApprovalFlowNodeActionApprove",
                "RemediationApprovalFlowNodeActionApproveWithInput",
                "RemediationApprovalFlowNodeActionSubmitInput",
                "RemediationApprovalFlowNodeActionWait"
            ]
        },
        "entity.RemediationApprovalFlowNodeStatus": {
            "type": "string",
            "enum": [
                "pending",
                "approving",
                "approved",
                "rejected",
                "unreached",
                "skipped"
            ],
            "x-enum-varnames": [
                "RemediationApprovalFlowNodeStatusPending",
                "RemediationApprovalFlowNodeStatusApproving",
                "RemediationApprovalFlowNodeStatusApproved",
                "RemediationApprovalFlowNodeStatusRejected",
                "RemediationApprovalFlowNodeStatusUnreached",
                "RemediationApprovalFlowNodeStatusSkipped"
            ]
        },
        "entity.RemediationTicket": {
            "type": "object",
            "required": [
                "applicant_email",
                "id"
            ],
            "properties": {
                "accident_report_link": {
                    "type": "string"
                },
                "accumulated_down_minutes": {
                    "type": "integer"
                },
                "applicant_email": {
                    "type": "string"
                },
                "appr_id": {
                    "description": "// 0 stands for no associated approval",
                    "type": "integer"
                },
                "associated_incident_id": {
                    "type": "integer"
                },
                "biz_region": {
                    "description": "Create params",
                    "allOf": [
                        {
                            "$ref": "#/definitions/tenant.TenantRegion"
                        }
                    ]
                },
                "calculated_compensation": {
                    "type": "number"
                },
                "closed_at": {
                    "type": "integer"
                },
                "cluster": {
                    "type": "string"
                },
                "cluster_billing": {
                    "description": "Global Deal Desk Fields",
                    "type": "string"
                },
                "cluster_id": {
                    "type": "integer"
                },
                "cluster_type": {
                    "$ref": "#/definitions/entity.RemediationTicketClusterType"
                },
                "created_at": {
                    "type": "integer"
                },
                "current_responsible_person_email": {
                    "type": "string"
                },
                "customer": {
                    "type": "string"
                },
                "expire_at": {
                    "type": "integer"
                },
                "extra_percent": {
                    "type": "string"
                },
                "generated_doc_url": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "info_from_creator": {
                    "type": "string"
                },
                "month": {
                    "description": "Should be in the format like `2006/1`",
                    "type": "string"
                },
                "monthly_uptime_percentage": {
                    "type": "string"
                },
                "overflow_percentage": {
                    "type": "number"
                },
                "phase": {
                    "$ref": "#/definitions/entity.RemediationTicketPhase"
                },
                "predefined_percent": {
                    "type": "string"
                },
                "reason": {
                    "description": "Deprecated Fields, will be removed",
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.RemediationTicketReason"
                        }
                    ]
                },
                "report_link": {
                    "type": "string"
                },
                "root_cause_from_gs": {
                    "description": "Region TSE Fields",
                    "type": "string"
                },
                "root_cause_from_rdg": {
                    "description": "RDG SLA Owner Fields",
                    "type": "string"
                },
                "status": {
                    "$ref": "#/definitions/entity.RemediationTicketStatus"
                },
                "tenant": {
                    "description": "HACK: as js doesn't natively support uint64, we use string-typed cluster and tenant fields for frontend display",
                    "type": "string"
                },
                "tenant_id": {
                    "type": "integer"
                },
                "total_compensation": {
                    "type": "string"
                },
                "version": {
                    "type": "integer"
                }
            }
        },
        "entity.RemediationTicketClusterType": {
            "type": "string",
            "enum": [
                "dedicated_multi_tidb",
                "dedicated_single_tidb",
                "serverless"
            ],
            "x-enum-varnames": [
                "RemediationTicketClusterTypeDedicatedMultiTiDB",
                "RemediationTicketClusterTypeDedicatedSingleTiDB",
                "RemediationTicketClusterTypeServerless"
            ]
        },
        "entity.RemediationTicketPhase": {
            "type": "string",
            "enum": [
                "created",
                "region_tse_leader",
                "rdg_sla_owner",
                "rdg_final_decision_maker",
                "global_deal_desk",
                "regional_gm",
                "commercial_operation",
                "succeed",
                "closed"
            ],
            "x-enum-varnames": [
                "RemediationTicketPhaseCreated",
                "RemediationTicketPhaseRegionTSELeader",
                "RemediationTicketPhaseRDGSLAOwner",
                "RemediationTicketPhaseRDGFinalDecisionMaker",
                "RemediationTicketPhaseGlobalDealDesk",
                "RemediationTicketPhaseRegionalGM",
                "RemediationTicketPhaseCommercialOperation",
                "RemediationTicketPhaseSucceed",
                "RemediationTicketPhaseClosed"
            ]
        },
        "entity.RemediationTicketPhaseApproval": {
            "type": "object",
            "required": [
                "approval_id",
                "created_at",
                "from_phase",
                "id",
                "ticket_id",
                "to_phase"
            ],
            "properties": {
                "approval_id": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "from_phase": {
                    "$ref": "#/definitions/entity.RemediationTicketPhase"
                },
                "id": {
                    "type": "integer"
                },
                "message": {
                    "type": "string"
                },
                "ticket_id": {
                    "type": "integer"
                },
                "to_phase": {
                    "$ref": "#/definitions/entity.RemediationTicketPhase"
                }
            }
        },
        "entity.RemediationTicketPhaseInfo": {
            "type": "object",
            "required": [
                "phase",
                "status"
            ],
            "properties": {
                "message": {
                    "type": "string"
                },
                "operator_email": {
                    "type": "string"
                },
                "phase": {
                    "$ref": "#/definitions/entity.RemediationTicketPhase"
                },
                "status": {
                    "$ref": "#/definitions/entity.RemediationTicketPhaseStatus"
                },
                "time": {
                    "type": "string"
                }
            }
        },
        "entity.RemediationTicketPhaseStatus": {
            "type": "string",
            "enum": [
                "approved",
                "rejected",
                "unreached"
            ],
            "x-enum-varnames": [
                "RemediationTicketPhaseStatusApproved",
                "RemediationTicketPhaseStatusRejected",
                "RemediationTicketPhaseStatusUnreached"
            ]
        },
        "entity.RemediationTicketReason": {
            "type": "string",
            "enum": [
                "misuse",
                "unauthorized_modify",
                "3party_hardware",
                "3party_software",
                "tidb_cloud"
            ],
            "x-enum-varnames": [
                "RemediationTicketReasonMisuse",
                "RemediationTicketReasonUnauthorizedModify",
                "RemediationTicketReason3PartyHardware",
                "RemediationTicketReason3PartySoftware",
                "RemediationTicketReasonTiDBCloud"
            ]
        },
        "entity.RemediationTicketStatus": {
            "type": "string",
            "enum": [
                "pending",
                "approving",
                "approved",
                "rejected",
                "closed"
            ],
            "x-enum-comments": {
                "RemediationTicketStatusClosed": "used only in RemediationTicketPhaseClosed and RemediationTicketPhaseCanceled"
            },
            "x-enum-varnames": [
                "RemediationTicketStatusPending",
                "RemediationTicketStatusApproving",
                "RemediationTicketStatusApproved",
                "RemediationTicketStatusRejected",
                "RemediationTicketStatusClosed"
            ]
        },
        "entity.SLA": {
            "type": "object",
            "properties": {
                "current": {
                    "type": "number"
                },
                "monthlyTrends": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.SeriesMonthlyTrend"
                    }
                }
            }
        },
        "entity.SLAStatus": {
            "type": "string",
            "enum": [
                "perfect",
                "warning",
                "breach"
            ],
            "x-enum-varnames": [
                "SLAStatusPerfect",
                "SLAStatusWarning",
                "SLAStatusBreach"
            ]
        },
        "entity.SLO": {
            "type": "object",
            "properties": {
                "met": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                }
            }
        },
        "entity.SeriesMonthlyTrend": {
            "type": "object",
            "properties": {
                "month": {
                    "type": "string"
                },
                "series": {
                    "type": "string"
                },
                "value": {
                    "type": "integer"
                }
            }
        },
        "entity.Template": {
            "type": "object",
            "properties": {
                "admin_tasks": {
                    "description": "AdminTasks is the users who can approve/reject/cancel the approval request at any time.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.Approver"
                        }
                    ]
                },
                "cc_tasks": {
                    "description": "CCTasks defines the users who will be notified when the approval request is **Approved**.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.Approver"
                        }
                    ]
                },
                "id": {
                    "description": "ID is the template identifier",
                    "type": "string"
                },
                "nodes": {
                    "description": "Nodes is the approval nodes.\n\nIf it is empty, the approval will be approved after created.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.ApproverNode"
                    }
                }
            }
        },
        "entity.TiDBInstanceMode": {
            "type": "string",
            "enum": [
                "single",
                "multi"
            ],
            "x-enum-varnames": [
                "TiDBInstanceSingle",
                "TiDBInstanceMulti"
            ]
        },
        "entity.TopTenant": {
            "type": "object",
            "properties": {
                "alias": {
                    "type": "string"
                },
                "id": {
                    "type": "string",
                    "example": "0"
                },
                "name": {
                    "type": "string"
                },
                "region": {
                    "$ref": "#/definitions/tenant.TenantRegion"
                },
                "value": {
                    "type": "integer"
                }
            }
        },
        "entity.Topology": {
            "type": "object",
            "properties": {
                "cluster_name": {
                    "type": "string"
                },
                "pd": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.Instance"
                    }
                },
                "tikv": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.Instance"
                    }
                }
            }
        },
        "feature_wl.FeatureWhitelistInfo": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "email_suffixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "min_org_id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "org_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "owner": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "feature_wl.ListFeatureWhitelistsResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/feature_wl.FeatureWhitelistInfo"
                    }
                },
                "page": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                },
                "total_pages": {
                    "type": "integer"
                }
            }
        },
        "github.CursorPagerResp": {
            "type": "object",
            "properties": {
                "end_cursor": {
                    "type": "string"
                },
                "has_next_page": {
                    "type": "boolean"
                }
            }
        },
        "github.GetPullRequestResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "pull_request": {
                    "$ref": "#/definitions/github.PullRequest"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "github.GetRepositoryResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "repository": {
                    "$ref": "#/definitions/github.Repository"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "github.Label": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "integer"
                }
            }
        },
        "github.ListPullRequestsResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/github.PullRequest"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "github.ListRepositoriesResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "repositories": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/github.Repository"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "github.PullRequest": {
            "type": "object",
            "properties": {
                "author": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "location": {
                    "type": "string"
                },
                "number": {
                    "type": "integer"
                },
                "owner": {
                    "type": "string"
                },
                "repo": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "integer"
                }
            }
        },
        "github.RawDiffReleaseResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "pull_requests": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/github.PullRequest"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "github.RawGetLabelResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "label": {
                    "$ref": "#/definitions/github.Label"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "github.RawGetPullRequestResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "pull_request": {
                    "$ref": "#/definitions/github.PullRequest"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "github.RawGetReleaseResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "release": {
                    "$ref": "#/definitions/github.Release"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "github.RawListLabelsResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "labels": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/github.Label"
                    }
                },
                "page": {
                    "$ref": "#/definitions/github.CursorPagerResp"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "github.RawListPullRequestsResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "page": {
                    "$ref": "#/definitions/github.CursorPagerResp"
                },
                "pull_requests": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/github.PullRequest"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "github.RawListReleasesResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "page": {
                    "$ref": "#/definitions/github.CursorPagerResp"
                },
                "releases": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/github.Release"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "github.Release": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "integer"
                },
                "is_latest": {
                    "type": "boolean"
                },
                "is_prerelease": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "published_at": {
                    "type": "integer"
                },
                "tag_name": {
                    "type": "string"
                }
            }
        },
        "github.Repository": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "location": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "owner": {
                    "type": "string"
                },
                "pushed_at": {
                    "type": "integer"
                },
                "update_at": {
                    "type": "integer"
                }
            }
        },
        "github_com_tidbcloud_devops_api_kernelimage.Release": {
            "type": "object",
            "properties": {
                "artifact_uid": {
                    "type": "string"
                },
                "availability": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/kernelimage.PlatformAvailability"
                    }
                },
                "availability_check_started_at": {
                    "type": "string"
                },
                "availability_check_uid": {
                    "type": "string"
                },
                "availability_checked_at": {
                    "type": "string"
                },
                "availability_last_error": {
                    "type": "string"
                },
                "availability_status": {
                    "$ref": "#/definitions/kernelimage.AvailabilityStatus"
                },
                "available_at": {
                    "type": "string"
                },
                "branch": {
                    "type": "string"
                },
                "build_finished_at": {
                    "type": "string"
                },
                "commit_sha": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "delivery_batch_uid": {
                    "type": "string"
                },
                "delivery_operation_instance_id": {
                    "type": "integer"
                },
                "delivery_target_images": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "formal_delivery_uid": {
                    "type": "string"
                },
                "git_tag": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "last_error_code": {
                    "type": "string"
                },
                "last_error_message": {
                    "type": "string"
                },
                "local_devops_environment": {
                    "type": "string"
                },
                "mask_reason": {
                    "type": "string"
                },
                "masked": {
                    "type": "boolean"
                },
                "repo": {
                    "type": "string"
                },
                "source_applicant": {
                    "type": "string"
                },
                "source_change_id": {
                    "type": "string"
                },
                "source_digest": {
                    "type": "string"
                },
                "source_release_id": {
                    "type": "string"
                },
                "source_repository": {
                    "type": "string"
                },
                "source_tag": {
                    "type": "string"
                },
                "status": {
                    "$ref": "#/definitions/kernelimage.ReleaseStatus"
                },
                "updated_at": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "github_com_tidbcloud_devops_api_kernelimage.SelectionItem": {
            "type": "object",
            "properties": {
                "exclusion_reason": {
                    "$ref": "#/definitions/kernelimage.ExclusionReason"
                },
                "is_default": {
                    "type": "boolean"
                },
                "release": {
                    "$ref": "#/definitions/github_com_tidbcloud_devops_api_kernelimage.Release"
                },
                "selection_state": {
                    "$ref": "#/definitions/kernelimage.SelectionState"
                }
            }
        },
        "github_com_tidbcloud_devops_api_kernelimage.SelectionPolicy": {
            "type": "object",
            "properties": {
                "image_tag_count": {
                    "type": "integer"
                },
                "local_devops_environment": {
                    "type": "string"
                },
                "version_count": {
                    "type": "integer"
                }
            }
        },
        "github_com_tidbcloud_devops_api_kernelimage.SelectionVersion": {
            "type": "object",
            "properties": {
                "images": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/github_com_tidbcloud_devops_api_kernelimage.SelectionItem"
                    }
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "github_com_tidbcloud_devops_api_operation.Advisory": {
            "type": "object",
            "properties": {
                "level": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "incident.CreateIncidentPostMortemReq": {
            "type": "object",
            "properties": {
                "background": {
                    "type": "string"
                },
                "bug_mechanism": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "customer_impact_minutes": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "impact": {
                    "type": "string"
                },
                "incident_end_time": {
                    "type": "string"
                },
                "incident_id": {
                    "type": "integer"
                },
                "incident_start_time": {
                    "type": "string"
                },
                "involved_engineers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/userv1.User"
                    }
                },
                "involved_tenants": {
                    "type": "string"
                },
                "minutes_to_detect": {
                    "type": "integer"
                },
                "minutes_to_resolved": {
                    "type": "integer"
                },
                "resolution": {
                    "type": "string"
                },
                "reviewed_at": {
                    "type": "string"
                },
                "root_causes": {
                    "type": "string"
                },
                "summary": {
                    "type": "string"
                },
                "technical_impact_level": {
                    "type": "string"
                },
                "top_issues": {
                    "type": "string"
                },
                "what_did_not_work": {
                    "type": "string"
                },
                "what_worked": {
                    "type": "string"
                },
                "where_we_were_lucky": {
                    "type": "string"
                }
            }
        },
        "incident.CreateIncidentPostMortemResp": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                }
            }
        },
        "incident.CreateIncidentPostMortemTimelineReq": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "happened_at": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "item_type": {
                    "type": "string"
                },
                "postmortem_id": {
                    "type": "integer"
                }
            }
        },
        "incident.CreateIncidentPostMortemTimelineResp": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                }
            }
        },
        "incident.CreateIncidentPostMortemToDoActionReq": {
            "type": "object",
            "properties": {
                "create_feishu_task": {
                    "type": "boolean"
                },
                "deadline": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "linked_jira_issue": {
                    "type": "string"
                },
                "persons": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "postmortem_id": {
                    "type": "integer"
                },
                "priority": {
                    "type": "string"
                },
                "status": {
                    "description": "Open or InProgress or Done",
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "incident.CreateIncidentPostMortemToDoActionResp": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                }
            }
        },
        "incident.CreateIncidentReq": {
            "type": "object",
            "properties": {
                "biz_regions": {
                    "type": "string"
                },
                "components": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "fbowners": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "feishu_url": {
                    "type": "string"
                },
                "incident_resolve_time": {
                    "type": "string"
                },
                "incident_start_time": {
                    "type": "string"
                },
                "jira_issue_links": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.IncidentJiraIssueLink"
                    }
                },
                "jira_issues": {
                    "type": "string"
                },
                "leaders": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "name": {
                    "type": "string"
                },
                "need_generate_feishu": {
                    "type": "boolean"
                },
                "oncallers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "status": {
                    "type": "string"
                },
                "tier": {
                    "type": "string"
                },
                "war_room_id": {
                    "type": "integer"
                }
            }
        },
        "incident.CreateIncidentResp": {
            "type": "object",
            "properties": {
                "incident_id": {
                    "type": "integer"
                }
            }
        },
        "incident.DeleteIncidentLogItemResp": {
            "type": "object",
            "properties": {
                "deleted_incident_logitem_id": {
                    "type": "integer"
                }
            }
        },
        "incident.DeleteIncidentPostMortemResp": {
            "type": "object"
        },
        "incident.DeleteIncidentPostMortemTimelineResp": {
            "type": "object"
        },
        "incident.DeleteIncidentPostMortemToDoActionResp": {
            "type": "object"
        },
        "incident.DeleteIncidentResp": {
            "type": "object",
            "properties": {
                "deleted_incident_id": {
                    "type": "integer"
                }
            }
        },
        "incident.GetIncidentComponentOptionsResp": {
            "type": "object",
            "required": [
                "components"
            ],
            "properties": {
                "components": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "definitions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/incident.IncidentComponentDefinition"
                    }
                }
            }
        },
        "incident.GetIncidentPostMortemResp": {
            "type": "object",
            "properties": {
                "incident_post_mortem": {
                    "$ref": "#/definitions/entity.IncidentPostMortem"
                }
            }
        },
        "incident.GetIncidentPostMortemTimelineResp": {
            "type": "object",
            "properties": {
                "incident_postmortem_timeline": {
                    "$ref": "#/definitions/entity.IncidentPostMortemTimelineItem"
                }
            }
        },
        "incident.GetIncidentPostMortemToDoActionResp": {
            "type": "object",
            "properties": {
                "incident_postmortem_todoaction": {
                    "$ref": "#/definitions/entity.IncidentPostMortemToDoAction"
                }
            }
        },
        "incident.ImportIncidentPostMortemToDoActionsResp": {
            "type": "object",
            "properties": {
                "postmortem_todo_action_import_started": {
                    "type": "boolean"
                },
                "postmortem_todo_action_import_status": {
                    "type": "string"
                }
            }
        },
        "incident.IncidentComponentDefinition": {
            "type": "object",
            "properties": {
                "enabled": {
                    "type": "boolean"
                },
                "key": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "order": {
                    "type": "integer"
                },
                "rule_doc_url": {
                    "type": "string"
                },
                "t1_rule_summary": {
                    "type": "string"
                },
                "t2_rule_summary": {
                    "type": "string"
                },
                "t3_rule_summary": {
                    "type": "string"
                }
            }
        },
        "incident.ListIncidentLogsResp": {
            "type": "object",
            "properties": {
                "incident_id": {
                    "type": "integer"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.IncidentLogItem"
                    }
                }
            }
        },
        "incident.ListIncidentPostMortemItemsResp": {
            "type": "object",
            "properties": {
                "incident_id": {
                    "type": "integer"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.IncidentPostMortem"
                    }
                }
            }
        },
        "incident.ListIncidentPostMortemTimelinesResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.IncidentPostMortemTimelineItem"
                    }
                },
                "postmortem_id": {
                    "type": "integer"
                }
            }
        },
        "incident.ListIncidentPostMortemToDoActionsResp": {
            "type": "object",
            "properties": {
                "incident_id": {
                    "type": "integer"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.IncidentPostMortemToDoAction"
                    }
                }
            }
        },
        "incident.ListIncidentsResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.Incident"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "incident.UpdateIncidentPostMortemReq": {
            "type": "object",
            "properties": {
                "background": {
                    "type": "string"
                },
                "bug_mechanism": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "customer_impact_minutes": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "impact": {
                    "type": "string"
                },
                "incident_end_time": {
                    "type": "string"
                },
                "incident_id": {
                    "type": "integer"
                },
                "incident_start_time": {
                    "type": "string"
                },
                "involved_engineers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/userv1.User"
                    }
                },
                "involved_tenants": {
                    "type": "string"
                },
                "minutes_to_detect": {
                    "type": "integer"
                },
                "minutes_to_resolved": {
                    "type": "integer"
                },
                "resolution": {
                    "type": "string"
                },
                "reviewed_at": {
                    "type": "string"
                },
                "root_causes": {
                    "type": "string"
                },
                "summary": {
                    "type": "string"
                },
                "technical_impact_level": {
                    "type": "string"
                },
                "top_issues": {
                    "type": "string"
                },
                "what_did_not_work": {
                    "type": "string"
                },
                "what_worked": {
                    "type": "string"
                },
                "where_we_were_lucky": {
                    "type": "string"
                }
            }
        },
        "incident.UpdateIncidentPostMortemResp": {
            "type": "object"
        },
        "incident.UpdateIncidentPostMortemTimelineReq": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "happened_at": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "item_type": {
                    "type": "string"
                },
                "postmortem_id": {
                    "type": "integer"
                }
            }
        },
        "incident.UpdateIncidentPostMortemTimelineResp": {
            "type": "object"
        },
        "incident.UpdateIncidentPostMortemToDoActionReq": {
            "type": "object",
            "properties": {
                "deadline": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "linked_jira_issue": {
                    "type": "string"
                },
                "persons": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "priority": {
                    "type": "string"
                },
                "status": {
                    "description": "Open or InProgress or Done",
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "incident.UpdateIncidentPostMortemToDoActionResp": {
            "type": "object"
        },
        "incident.UpdateIncidentReq": {
            "type": "object",
            "properties": {
                "biz_regions": {
                    "type": "string"
                },
                "components": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "extract_postmortem_todo_actions": {
                    "type": "boolean"
                },
                "fbowners": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "feishu_url": {
                    "type": "string"
                },
                "incident_resolve_time": {
                    "type": "string"
                },
                "incident_start_time": {
                    "type": "string"
                },
                "jira_issue_links": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.IncidentJiraIssueLink"
                    }
                },
                "jira_issues": {
                    "type": "string"
                },
                "leaders": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "name": {
                    "type": "string"
                },
                "oncallers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "status": {
                    "type": "string"
                },
                "tier": {
                    "type": "string"
                },
                "war_room_id": {
                    "type": "integer"
                }
            }
        },
        "incident.UpdateIncidentResp": {
            "type": "object",
            "properties": {
                "postmortem_todo_action_import_started": {
                    "type": "boolean"
                },
                "postmortem_todo_action_import_status": {
                    "type": "string"
                }
            }
        },
        "itoken.JWK": {
            "type": "object",
            "properties": {
                "alg": {
                    "type": "string"
                },
                "e": {
                    "type": "string"
                },
                "kid": {
                    "type": "string"
                },
                "kty": {
                    "type": "string"
                },
                "n": {
                    "type": "string"
                },
                "use": {
                    "type": "string"
                }
            }
        },
        "itoken.JWKSet": {
            "type": "object",
            "properties": {
                "keys": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/itoken.JWK"
                    }
                }
            }
        },
        "jira.Alert": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "integer"
                },
                "key": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "priority": {
                    "type": "string"
                },
                "recovered": {
                    "type": "boolean"
                },
                "updated_at": {
                    "type": "integer"
                }
            }
        },
        "jira.Comment": {
            "type": "object",
            "properties": {
                "author": {
                    "$ref": "#/definitions/jira.User"
                },
                "content": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "integer"
                }
            }
        },
        "jira.CreateIssueTriageTagDefinitionRequest": {
            "type": "object",
            "required": [
                "tag"
            ],
            "properties": {
                "tag": {
                    "$ref": "#/definitions/jira.IssueTriageTagDefinition"
                }
            }
        },
        "jira.CreateIssueTriageTagDefinitionResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "tag": {
                    "$ref": "#/definitions/jira.IssueTriageTagDefinition"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "jira.DeleteIssueTriageTagDefinitionRequest": {
            "type": "object",
            "required": [
                "name",
                "type"
            ],
            "properties": {
                "name": {
                    "type": "string"
                },
                "type": {
                    "$ref": "#/definitions/jira.IssueTriageTagType"
                }
            }
        },
        "jira.GetIssueFromJiraResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "issue": {
                    "$ref": "#/definitions/jira.IssueInJira"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "jira.GetUnifiedIssueResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "issue": {
                    "$ref": "#/definitions/jira.UnifiedIssue"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "jira.IssueCustomerEnvironment": {
            "type": "string",
            "enum": [
                "cloud",
                "on_premise"
            ],
            "x-enum-varnames": [
                "IssueCustomerEnvironmentCloud",
                "IssueCustomerEnvironmentOnPremise"
            ]
        },
        "jira.IssueCustomerInfo": {
            "type": "object",
            "properties": {
                "cluster_id": {
                    "type": "string"
                },
                "environment": {
                    "$ref": "#/definitions/jira.IssueCustomerEnvironment"
                },
                "issue_key": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                }
            }
        },
        "jira.IssueInJira": {
            "type": "object",
            "properties": {
                "assignee": {
                    "$ref": "#/definitions/jira.User"
                },
                "comments": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/jira.Comment"
                    }
                },
                "components": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "created_at": {
                    "type": "integer"
                },
                "customer_info": {
                    "$ref": "#/definitions/jira.IssueCustomerInfo"
                },
                "description": {
                    "type": "string"
                },
                "eta": {
                    "type": "integer"
                },
                "id": {
                    "description": "raw ID in jira",
                    "type": "string"
                },
                "issue_links": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/jira.IssueLink"
                    }
                },
                "key": {
                    "type": "string"
                },
                "priority": {
                    "type": "string"
                },
                "project": {
                    "$ref": "#/definitions/jira.Project"
                },
                "reporter": {
                    "$ref": "#/definitions/jira.User"
                },
                "resolved_at": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                },
                "summary": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "integer"
                }
            }
        },
        "jira.IssueInRepo": {
            "type": "object",
            "properties": {
                "created_at": {
                    "description": "same as IssueSnapshot.CreatedAt",
                    "type": "integer"
                },
                "have_timeline_summary": {
                    "type": "boolean"
                },
                "have_triage": {
                    "type": "boolean"
                },
                "key": {
                    "type": "string"
                },
                "snapshot": {
                    "$ref": "#/definitions/jira.IssueSnapshot"
                },
                "stored_at": {
                    "type": "integer"
                }
            }
        },
        "jira.IssueLink": {
            "type": "object",
            "properties": {
                "inward_issue": {
                    "type": "string"
                },
                "outward_issue": {
                    "type": "string"
                },
                "type_name": {
                    "type": "string"
                }
            }
        },
        "jira.IssueSnapshot": {
            "type": "object",
            "properties": {
                "assignee_email": {
                    "type": "string"
                },
                "components": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "created_at": {
                    "type": "integer"
                },
                "customer_info": {
                    "$ref": "#/definitions/jira.IssueCustomerInfo"
                },
                "id": {
                    "description": "raw ID in jira",
                    "type": "string"
                },
                "key": {
                    "type": "string"
                },
                "priority": {
                    "type": "string"
                },
                "project_key": {
                    "type": "string"
                },
                "reporter_email": {
                    "type": "string"
                },
                "resolved_at": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                },
                "summary": {
                    "type": "string"
                }
            }
        },
        "jira.IssueTimelineSummary": {
            "type": "object",
            "properties": {
                "timelines": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/jira.IssueTimelineSummaryItem"
                    }
                }
            }
        },
        "jira.IssueTimelineSummaryItem": {
            "type": "object",
            "properties": {
                "begin_time": {
                    "description": "TODO: change to int64",
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                }
            }
        },
        "jira.IssueTriage": {
            "type": "object",
            "properties": {
                "brief_summary": {
                    "type": "string"
                },
                "created_at": {
                    "description": "TODO: change to int64",
                    "type": "integer"
                },
                "key": {
                    "type": "string"
                },
                "tags": {
                    "$ref": "#/definitions/jira.IssueTriageTags"
                },
                "updated_at": {
                    "type": "integer"
                }
            }
        },
        "jira.IssueTriageTagDefinition": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "labels": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "name": {
                    "type": "string"
                },
                "type": {
                    "$ref": "#/definitions/jira.IssueTriageTagType"
                }
            }
        },
        "jira.IssueTriageTagType": {
            "type": "string",
            "enum": [
                "scene",
                "root_cause",
                "preventability",
                "solution"
            ],
            "x-enum-varnames": [
                "IssueTriageTagTypeScence",
                "IssueTriageTagTypeRootCause",
                "IssueTriageTagTypePreventability",
                "IssueTriageTagTypeSolution"
            ]
        },
        "jira.IssueTriageTags": {
            "type": "object",
            "properties": {
                "preventability": {
                    "type": "string"
                },
                "root_cause": {
                    "type": "string"
                },
                "scene": {
                    "type": "string"
                },
                "solution": {
                    "type": "string"
                }
            }
        },
        "jira.ListIssueTriageTagDefinitionsRequest": {
            "type": "object",
            "properties": {
                "-": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "labels_contain_json": {
                    "type": "string"
                },
                "names_in": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "types_in": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/jira.IssueTriageTagType"
                    }
                }
            }
        },
        "jira.ListIssueTriageTagDefinitionsResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/jira.IssueTriageTagDefinition"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "jira.ListIssuesFromJiraResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "is_last": {
                    "type": "boolean"
                },
                "issues": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/jira.IssueInJira"
                    }
                },
                "next_page_token": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "jira.ListUnifiedIssuesRequest": {
            "type": "object",
            "properties": {
                "cluster_id_in": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "component_in": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "created_after": {
                    "type": "integer"
                },
                "created_before": {
                    "type": "integer"
                },
                "customer_env_is": {
                    "type": "string"
                },
                "have_timeline_summary": {
                    "type": "boolean"
                },
                "have_triage": {
                    "type": "boolean"
                },
                "issue_key_in": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "page": {
                    "type": "integer"
                },
                "per_page": {
                    "type": "integer"
                },
                "project_in": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "status_in": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "tenant_id_in": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "with_jira": {
                    "type": "boolean"
                },
                "with_jira_comments": {
                    "type": "boolean"
                },
                "with_timeline_summary": {
                    "type": "boolean"
                },
                "with_triage": {
                    "type": "boolean"
                }
            }
        },
        "jira.ListUnifiedIssuesResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/jira.UnifiedIssue"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "jira.Project": {
            "type": "object",
            "properties": {
                "key": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "jira.SeriesTrend": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "series": {
                    "type": "string"
                },
                "value": {
                    "type": "integer"
                }
            }
        },
        "jira.SetIssueTimelineSummaryRequest": {
            "type": "object",
            "required": [
                "key",
                "summary"
            ],
            "properties": {
                "key": {
                    "type": "string"
                },
                "summary": {
                    "$ref": "#/definitions/jira.IssueTimelineSummary"
                }
            }
        },
        "jira.SyncIssueSnapshotByJQLRequest": {
            "type": "object",
            "required": [
                "jql"
            ],
            "properties": {
                "fail_fast": {
                    "type": "boolean"
                },
                "jql": {
                    "type": "string"
                },
                "max_count": {
                    "type": "integer"
                },
                "per_page": {
                    "type": "integer"
                }
            }
        },
        "jira.SyncIssueSnapshotByJQLResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "failure_issues": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "success_issues": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "jira.SyncIssueSnapshotByKeyRequest": {
            "type": "object",
            "required": [
                "key"
            ],
            "properties": {
                "key": {
                    "type": "string"
                }
            }
        },
        "jira.SyncIssueSnapshotByKeyResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "issue": {
                    "$ref": "#/definitions/jira.IssueInRepo"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "jira.UnifiedIssue": {
            "type": "object",
            "properties": {
                "issue_in_jira": {
                    "$ref": "#/definitions/jira.IssueInJira"
                },
                "issue_in_repo": {
                    "$ref": "#/definitions/jira.IssueInRepo"
                },
                "issue_timeline_summary": {
                    "$ref": "#/definitions/jira.IssueTimelineSummary"
                },
                "issue_triage": {
                    "$ref": "#/definitions/jira.IssueTriage"
                },
                "key": {
                    "type": "string"
                }
            }
        },
        "jira.UpsertIssueTriageRequest": {
            "type": "object",
            "required": [
                "triage"
            ],
            "properties": {
                "triage": {
                    "$ref": "#/definitions/jira.IssueTriage"
                }
            }
        },
        "jira.User": {
            "type": "object",
            "properties": {
                "display_name": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                }
            }
        },
        "jump.Authorization": {
            "type": "object",
            "properties": {
                "applicant": {
                    "description": "email",
                    "type": "string"
                },
                "approval_id": {
                    "type": "integer"
                },
                "closed_at": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "integer"
                },
                "enable_gateway_access": {
                    "type": "boolean"
                },
                "expiration": {
                    "$ref": "#/definitions/jump.JumpExpiration"
                },
                "expire_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "jumps": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/jump.Jump"
                    }
                },
                "phase": {
                    "description": "status",
                    "allOf": [
                        {
                            "$ref": "#/definitions/jump.AuthorizationPhase"
                        }
                    ]
                },
                "privilege": {
                    "$ref": "#/definitions/jump.JumpPrivilege"
                },
                "reason": {
                    "type": "string"
                }
            }
        },
        "jump.AuthorizationPhase": {
            "type": "string",
            "enum": [
                "initialized",
                "approving",
                "creating",
                "created",
                "expired",
                "notapproved",
                "canceled"
            ],
            "x-enum-varnames": [
                "AuthorizationPhaseInitialized",
                "AuthorizationPhaseApproving",
                "AuthorizationPhaseCreating",
                "AuthorizationPhaseCreated",
                "AuthorizationPhaseExpired",
                "AuthorizationPhaseNotApproved",
                "AuthorizationPhaseCanceled"
            ]
        },
        "jump.CancelAuthorizationReq": {
            "type": "object",
            "properties": {
                "force": {
                    "type": "boolean"
                },
                "timeout": {
                    "type": "integer"
                }
            }
        },
        "jump.Connection": {
            "type": "object",
            "properties": {
                "gateway": {
                    "$ref": "#/definitions/jump.ConnectionGateway"
                },
                "ssh": {
                    "$ref": "#/definitions/jump.ConnectionSSH"
                },
                "web_terminal": {
                    "$ref": "#/definitions/jump.ConnectionWebTerminal"
                }
            }
        },
        "jump.ConnectionGateway": {
            "type": "object",
            "properties": {
                "connection_token": {
                    "type": "string"
                },
                "kubeconfig": {
                    "type": "string"
                },
                "server_urls": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                }
            }
        },
        "jump.ConnectionMethod": {
            "type": "string",
            "enum": [
                "web_terminal",
                "ssh",
                "gateway"
            ],
            "x-enum-varnames": [
                "ConnectionMethodWebTerminal",
                "ConnectionMethodSSH",
                "ConnectionMethodGateway"
            ]
        },
        "jump.ConnectionSSH": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "base_asset_name": {
                    "type": "string"
                },
                "jumppod_name": {
                    "type": "string"
                },
                "jumppod_namespace": {
                    "type": "string"
                }
            }
        },
        "jump.ConnectionWebTerminal": {
            "type": "object",
            "properties": {
                "url": {
                    "type": "string"
                }
            }
        },
        "jump.CreateAuthorizationReq": {
            "type": "object",
            "properties": {
                "destination_type": {
                    "$ref": "#/definitions/jump.DestinationType"
                },
                "destinations": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "enable_gateway_access": {
                    "type": "boolean"
                },
                "expiration": {
                    "$ref": "#/definitions/jump.JumpExpiration"
                },
                "extra": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "privilege": {
                    "$ref": "#/definitions/jump.JumpPrivilege"
                },
                "reason": {
                    "type": "string"
                }
            }
        },
        "jump.CreateAuthorizationResp": {
            "type": "object",
            "properties": {
                "authorization_id": {
                    "type": "integer"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "jump.DestinationByocCluster": {
            "type": "object",
            "properties": {
                "bastion_name": {
                    "type": "string"
                }
            }
        },
        "jump.DestinationControlPlane": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                }
            }
        },
        "jump.DestinationDedicatedCluster": {
            "type": "object",
            "properties": {
                "cluster_id": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "jump.DestinationPremiumCluster": {
            "type": "object",
            "properties": {
                "cluster_id": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "jump.DestinationPremiumResourcePool": {
            "type": "object",
            "properties": {
                "resource_pool_id": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "jump.DestinationServerlessCluster": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                }
            }
        },
        "jump.DestinationType": {
            "type": "string",
            "enum": [
                "unspecified",
                "controlplane",
                "dedicated",
                "serverless",
                "byoc",
                "premium",
                "premium_resource_pool"
            ],
            "x-enum-varnames": [
                "DestinationTypeUnspecified",
                "DestinationTypeControlPlane",
                "DestinationTypeDedicated",
                "DestinationTypeServerless",
                "DestinationTypeByoc",
                "DestinationTypePremium",
                "DestinationTypePremiumResourcePool"
            ]
        },
        "jump.DestinationUnion": {
            "type": "object",
            "properties": {
                "byoc_cluster": {
                    "$ref": "#/definitions/jump.DestinationByocCluster"
                },
                "control_plane": {
                    "$ref": "#/definitions/jump.DestinationControlPlane"
                },
                "dedicated_cluster": {
                    "$ref": "#/definitions/jump.DestinationDedicatedCluster"
                },
                "premium_cluster": {
                    "$ref": "#/definitions/jump.DestinationPremiumCluster"
                },
                "premium_resource_pool": {
                    "$ref": "#/definitions/jump.DestinationPremiumResourcePool"
                },
                "serverless_cluster": {
                    "$ref": "#/definitions/jump.DestinationServerlessCluster"
                }
            }
        },
        "jump.GetAuthorizationResp": {
            "type": "object",
            "properties": {
                "authorization": {
                    "$ref": "#/definitions/jump.Authorization"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "jump.GetConnectionResponse": {
            "type": "object",
            "properties": {
                "connection": {
                    "$ref": "#/definitions/jump.Connection"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "jump.GetUserResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                },
                "user_id": {
                    "type": "string"
                }
            }
        },
        "jump.InviteUserFailedItem": {
            "type": "object",
            "properties": {
                "email": {
                    "type": "string"
                },
                "err": {
                    "type": "string"
                }
            }
        },
        "jump.InviteUserReq": {
            "type": "object",
            "properties": {
                "emails": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "jump.InviteUserResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "failed": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/jump.InviteUserFailedItem"
                    }
                },
                "success": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "jump.Jump": {
            "type": "object",
            "properties": {
                "attributes": {
                    "$ref": "#/definitions/jump.JumpAttributes"
                },
                "destination": {
                    "$ref": "#/definitions/jump.DestinationUnion"
                },
                "destination_type": {
                    "description": "output only",
                    "allOf": [
                        {
                            "$ref": "#/definitions/jump.DestinationType"
                        }
                    ]
                },
                "id": {
                    "type": "integer"
                },
                "method": {
                    "$ref": "#/definitions/jump.JumpMethod"
                }
            }
        },
        "jump.JumpAttributes": {
            "type": "object",
            "properties": {
                "k8s": {
                    "$ref": "#/definitions/jump.JumpK8sAttributes"
                },
                "tailscale": {
                    "$ref": "#/definitions/jump.JumpTailscaleAttributes"
                }
            }
        },
        "jump.JumpExpiration": {
            "type": "string",
            "enum": [
                "1h",
                "3h",
                "6h",
                "12h",
                "24h",
                "3d",
                "7d",
                "30d"
            ],
            "x-enum-varnames": [
                "JumpExpiration1Hour",
                "JumpExpiration3Hour",
                "JumpExpiration6Hour",
                "JumpExpiration12Hour",
                "JumpExpiration24Hour",
                "JumpExpiration3Day",
                "JumpExpiration7Day",
                "JumpExpiration30Day"
            ]
        },
        "jump.JumpK8sAttributes": {
            "type": "object",
            "properties": {
                "context": {
                    "type": "string"
                },
                "enable_gateway_access": {
                    "type": "boolean"
                },
                "token_expire_at": {
                    "description": "jump token expire time, zero means no expire",
                    "type": "integer"
                }
            }
        },
        "jump.JumpMethod": {
            "type": "string",
            "enum": [
                "unspecified",
                "k8s",
                "tailscale"
            ],
            "x-enum-varnames": [
                "JumpMethodUnspecified",
                "JumpMethodK8s",
                "JumpMethodTailscale"
            ]
        },
        "jump.JumpPrivilege": {
            "type": "string",
            "enum": [
                "read_only",
                "read_write",
                "admin"
            ],
            "x-enum-varnames": [
                "JumpPrivilegeReadOnly",
                "JumpPrivilegeReadWrite",
                "JumpPrivilegeAdmin"
            ]
        },
        "jump.JumpTailscaleAttributes": {
            "type": "object",
            "properties": {
                "dst_hostname": {
                    "type": "string"
                },
                "dst_ip": {
                    "type": "string"
                },
                "src_hostname": {
                    "type": "string"
                },
                "src_ip": {
                    "type": "string"
                },
                "user": {
                    "type": "string"
                }
            }
        },
        "jump.ListAuthorizationsResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/jump.Authorization"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "jump.ListAvailableDestinationsResp": {
            "type": "object",
            "properties": {
                "destinations": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "k8scalendar.ListLifecyclesResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8scalendar.VersionLifecycle"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "k8scalendar.ResetNotificationFlagsReq": {
            "type": "object",
            "required": [
                "cloud",
                "flags",
                "version"
            ],
            "properties": {
                "cloud": {
                    "type": "string"
                },
                "flags": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "k8scalendar.SyncNowReq": {
            "type": "object",
            "properties": {
                "fail_on_provider_error": {
                    "description": "FailOnProviderError when true, syncNow returns error if any provider (EKS/GKE) fetch fails.",
                    "type": "boolean"
                }
            }
        },
        "k8scalendar.VersionLifecycle": {
            "type": "object",
            "properties": {
                "cloud": {
                    "type": "string"
                },
                "cloud_provider": {
                    "type": "string"
                },
                "end_of_extended_support": {
                    "type": "string"
                },
                "end_of_standard_support": {
                    "type": "string"
                },
                "eos_approaching_notified_for": {
                    "type": "string"
                },
                "fingerprint": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "lifecycle_start": {
                    "type": "string"
                },
                "notified_eos_changed_fingerprint": {
                    "type": "string"
                },
                "notified_version_added_at": {
                    "type": "string"
                },
                "release_precision": {
                    "type": "string"
                },
                "scraped_at": {
                    "type": "string"
                },
                "source_url": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "k8sresource.ClusterResource": {
            "type": "object",
            "properties": {
                "content": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "display_name": {
                    "type": "string"
                },
                "key": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "k8sresource.DedicatedDataPlaneBody": {
            "type": "object",
            "properties": {
                "clusterId": {
                    "type": "string"
                },
                "projectId": {
                    "type": "string"
                }
            }
        },
        "k8sresource.DedicatedFieldFilterBody": {
            "type": "object",
            "properties": {
                "key": {
                    "type": "string"
                },
                "operator": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            }
        },
        "k8sresource.DedicatedGVKBody": {
            "type": "object",
            "properties": {
                "group": {
                    "type": "string"
                },
                "kind": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "k8sresource.DedicatedOptionBody": {
            "type": "object",
            "properties": {
                "detail": {
                    "type": "boolean"
                },
                "events": {
                    "type": "boolean"
                },
                "maxItems": {
                    "type": "integer"
                }
            }
        },
        "k8sresource.DedicatedSelectorBody": {
            "type": "object",
            "properties": {
                "field": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8sresource.DedicatedFieldFilterBody"
                    }
                },
                "label": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "name": {
                    "type": "string"
                },
                "namespace": {
                    "type": "string"
                }
            }
        },
        "k8sresource.GetK8SResourceResp": {
            "type": "object",
            "properties": {
                "metadata": {
                    "type": "string"
                }
            }
        },
        "k8sresource.K8SResource": {
            "type": "object",
            "properties": {
                "cluster_id": {
                    "type": "string"
                },
                "data": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "namespace": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "snap_id": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "timestamp": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "k8sresource.ListClusterResourcesResp": {
            "type": "object",
            "properties": {
                "resources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8sresource.ClusterResource"
                    }
                }
            }
        },
        "k8sresource.ListDedicatedK8sResourcesBody": {
            "type": "object",
            "properties": {
                "dataPlane": {
                    "$ref": "#/definitions/k8sresource.DedicatedDataPlaneBody"
                },
                "gvk": {
                    "$ref": "#/definitions/k8sresource.DedicatedGVKBody"
                },
                "option": {
                    "$ref": "#/definitions/k8sresource.DedicatedOptionBody"
                },
                "planeType": {
                    "type": "string"
                },
                "selector": {
                    "$ref": "#/definitions/k8sresource.DedicatedSelectorBody"
                }
            }
        },
        "k8sresource.ListDedicatedK8sResourcesResp": {
            "type": "object",
            "properties": {
                "content": {
                    "type": "string"
                },
                "content_type": {
                    "type": "string"
                },
                "hints": {
                    "type": "string"
                },
                "item_count": {
                    "type": "integer"
                },
                "truncated": {
                    "type": "boolean"
                }
            }
        },
        "k8sresource.ListK8SResourcesResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8sresource.K8SResource"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "k8supgrade.CancelUpgradeK8sClusterResp": {
            "type": "object"
        },
        "k8supgrade.CloseTaskReq": {
            "type": "object",
            "required": [
                "reason"
            ],
            "properties": {
                "reason": {
                    "type": "string"
                }
            }
        },
        "k8supgrade.CreateTaskReq": {
            "type": "object",
            "required": [
                "cloud_provider",
                "deadline",
                "eos_version",
                "name"
            ],
            "properties": {
                "cloud_provider": {
                    "type": "string"
                },
                "deadline": {
                    "type": "integer"
                },
                "eos_version": {
                    "type": "string"
                },
                "max_restart_times": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "selector_type": {
                    "description": "SelectorType indicates the mutually exclusive selector type.\n- internal: internal tenants only\n- non_prod: non-production clusters only\n- by_region: match business region\n- by_tenant_ids: match tenant IDs\n- by_project_ids: match project IDs\n- by_tidb_cluster_ids: match TiDB cluster IDs\n- by_k8s_names: match k8s names",
                    "type": "string"
                },
                "selector_value": {
                    "description": "SelectorValue stores selector-specific conditions in JSON.\nIt can be empty for some selector types.",
                    "type": "string"
                }
            }
        },
        "k8supgrade.CreateTaskResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "k8supgrade.ExcludeK8sUpgradeTaskClusterResp": {
            "type": "object"
        },
        "k8supgrade.GetK8SInformationResp": {
            "type": "object",
            "properties": {
                "admin_nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8supgrade.Node"
                    }
                },
                "appbox_name": {
                    "type": "string"
                },
                "appbox_namespace": {
                    "type": "string"
                },
                "business_region": {
                    "type": "string"
                },
                "cloud_account": {
                    "type": "string"
                },
                "cloud_provider": {
                    "type": "string"
                },
                "clusters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8supgrade.TiDBClusterInfraInfo"
                    }
                },
                "control_plane_version": {
                    "$ref": "#/definitions/k8supgrade.Version"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "is_3_layer_arch": {
                    "type": "boolean"
                },
                "k8s_name": {
                    "type": "string"
                },
                "number_of_tidb_clusters": {
                    "type": "integer"
                },
                "o11y_k8s_nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8supgrade.Node"
                    }
                },
                "project_id": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "tenant_kind": {
                    "type": "string"
                },
                "tenant_name": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "k8supgrade.GetK8sUpgradeAdminResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "is_admin": {
                    "type": "boolean"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "k8supgrade.GetTaskK8sClusterResp": {
            "type": "object",
            "properties": {
                "k8s_cluster": {
                    "$ref": "#/definitions/k8supgrade.K8sCluster"
                }
            }
        },
        "k8supgrade.GetTaskResp": {
            "type": "object",
            "properties": {
                "applicant": {
                    "description": "email",
                    "type": "string"
                },
                "approval_id": {
                    "type": "integer"
                },
                "closed_at": {
                    "type": "integer"
                },
                "cloud_provider": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "deadline": {
                    "type": "integer"
                },
                "excluded_k8s_clusters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8supgrade.K8sCluster"
                    }
                },
                "id": {
                    "type": "integer"
                },
                "k8s_cluster_list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8supgrade.K8sCluster"
                    }
                },
                "max_restart_times": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "regions": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    }
                },
                "selector_type": {
                    "description": "SelectorType indicates the mutually exclusive selector type.",
                    "type": "string"
                },
                "selector_value": {
                    "type": "string"
                },
                "status": {
                    "$ref": "#/definitions/k8supgrade.TaskStatus"
                },
                "synced": {
                    "description": "Synced indicates whether the task has been synced.\nThis field is only used for the task in pending phase.",
                    "type": "boolean"
                },
                "version_to_be_upgraded": {
                    "type": "string"
                }
            }
        },
        "k8supgrade.K8sCluster": {
            "type": "object",
            "properties": {
                "business_region": {
                    "type": "string"
                },
                "cloud_provider": {
                    "type": "string"
                },
                "desired_version": {
                    "type": "string"
                },
                "disable_auto_generation": {
                    "description": "DisableAutoGeneration indicates whether to disable auto generation for the UpgradeOperationCR.",
                    "type": "boolean"
                },
                "id": {
                    "type": "integer"
                },
                "info": {
                    "description": "Info contains the information of the K8s cluster.\nIt will not be stored in the database.\nIt represents the latest state of the cluster.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/k8supgrade.K8sInfo"
                        }
                    ]
                },
                "is_excluded": {
                    "type": "boolean"
                },
                "k8s_snapshot": {
                    "description": "K8sSnapshot is a snapshot of the K8s cluster before the task starts running.\nIt's used to record the initial state of the cluster.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/k8supgrade.K8sInfo"
                        }
                    ]
                },
                "maintenance_window_id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "sales_owner_email": {
                    "description": "SalesOwnerEmail and TAMName are resolved from tenant service at read time.",
                    "type": "string"
                },
                "tam_name": {
                    "type": "string"
                },
                "task_id": {
                    "type": "integer"
                },
                "tenant_kind": {
                    "type": "string"
                },
                "tenant_name": {
                    "type": "string"
                },
                "upgrade_operation_cr": {
                    "type": "string"
                },
                "upgrade_operation_status": {
                    "type": "string"
                },
                "version": {
                    "description": "Version is used for optimistic locking. See models/k8supgrade.K8sCluster.Version.",
                    "type": "integer"
                }
            }
        },
        "k8supgrade.K8sInfo": {
            "type": "object",
            "properties": {
                "admin_nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8supgrade.Node"
                    }
                },
                "appbox_name": {
                    "type": "string"
                },
                "appbox_namespace": {
                    "type": "string"
                },
                "business_region": {
                    "type": "string"
                },
                "cloud_account": {
                    "type": "string"
                },
                "cloud_provider": {
                    "type": "string"
                },
                "clusters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8supgrade.TiDBClusterInfraInfo"
                    }
                },
                "control_plane_version": {
                    "$ref": "#/definitions/k8supgrade.Version"
                },
                "is_3_layer_arch": {
                    "type": "boolean"
                },
                "k8s_name": {
                    "type": "string"
                },
                "number_of_tidb_clusters": {
                    "type": "integer"
                },
                "o11y_k8s_nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8supgrade.Node"
                    }
                },
                "project_id": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "tenant_kind": {
                    "type": "string"
                },
                "tenant_name": {
                    "type": "string"
                }
            }
        },
        "k8supgrade.ListK8SInformationResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8supgrade.K8sInfo"
                    }
                },
                "timestamp": {
                    "description": "Timestamp is the time when the list is generated.",
                    "type": "integer"
                },
                "total": {
                    "description": "Total is the number of items.",
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "k8supgrade.ListK8sUpgradeSupportedVersionsResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                },
                "versions": {
                    "description": "key: cloud provider (aws/gcp), value: supported versions",
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "k8supgrade.ListTasksResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8supgrade.Task"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "k8supgrade.Node": {
            "type": "object",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "kind": {
                    "description": "admin-nodes, tidb-nodes, cdc-nodes, dm-nodes, o11y-k8s-nodes, o11y-tidb-nodes",
                    "type": "string"
                },
                "max_skew_version": {
                    "description": "MaxSkewVersion is the max version of the node group behind the control plane's version.",
                    "type": "integer"
                },
                "version": {
                    "$ref": "#/definitions/k8supgrade.Version"
                }
            }
        },
        "k8supgrade.NoticeTemplateReq": {
            "type": "object",
            "properties": {
                "content": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "k8supgrade.NotifyReq": {
            "type": "object",
            "properties": {
                "channels": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "custom_message": {
                    "type": "string"
                }
            }
        },
        "k8supgrade.RenderedNoticeResp": {
            "type": "object",
            "properties": {
                "content": {
                    "type": "string"
                }
            }
        },
        "k8supgrade.Task": {
            "type": "object",
            "properties": {
                "applicant": {
                    "description": "email",
                    "type": "string"
                },
                "approval_id": {
                    "type": "integer"
                },
                "closed_at": {
                    "type": "integer"
                },
                "cloud_provider": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "deadline": {
                    "type": "integer"
                },
                "excluded_k8s_clusters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8supgrade.K8sCluster"
                    }
                },
                "id": {
                    "type": "integer"
                },
                "k8s_cluster_list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8supgrade.K8sCluster"
                    }
                },
                "max_restart_times": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "regions": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    }
                },
                "selector_type": {
                    "description": "SelectorType indicates the mutually exclusive selector type.",
                    "type": "string"
                },
                "selector_value": {
                    "type": "string"
                },
                "status": {
                    "$ref": "#/definitions/k8supgrade.TaskStatus"
                },
                "synced": {
                    "description": "Synced indicates whether the task has been synced.\nThis field is only used for the task in pending phase.",
                    "type": "boolean"
                },
                "version_to_be_upgraded": {
                    "type": "string"
                }
            }
        },
        "k8supgrade.TaskStatus": {
            "type": "string",
            "enum": [
                "pending",
                "approving",
                "running",
                "completed",
                "cancelled"
            ],
            "x-enum-varnames": [
                "TaskStatusPending",
                "TaskStatusApproving",
                "TaskStatusRunning",
                "TaskStatusCompleted",
                "TaskStatusCancelled"
            ]
        },
        "k8supgrade.TiDBClusterInfraInfo": {
            "type": "object",
            "properties": {
                "component_nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8supgrade.Node"
                    }
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "notes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "status": {
                    "type": "string"
                },
                "topology": {
                    "description": "key: component type, value: replicas",
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    }
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "k8supgrade.UpdateK8sUpgradeTaskClusterAutoGenerationReq": {
            "type": "object",
            "properties": {
                "disable_auto_generation": {
                    "type": "boolean"
                }
            }
        },
        "k8supgrade.UpdateK8sUpgradeTaskClusterAutoGenerationResp": {
            "type": "object"
        },
        "k8supgrade.UpdateTaskK8sClusterReq": {
            "type": "object",
            "properties": {
                "cloud_provider": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "is_excluded": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "task_id": {
                    "type": "integer"
                },
                "upgrade_operation_cr": {
                    "type": "string"
                },
                "upgrade_operation_status": {
                    "type": "string"
                },
                "version": {
                    "type": "integer"
                }
            }
        },
        "k8supgrade.UpdateTaskK8sClusterResp": {
            "type": "object"
        },
        "k8supgrade.UpdateTaskReq": {
            "type": "object",
            "properties": {
                "deadline": {
                    "type": "integer"
                },
                "max_restart_times": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "k8supgrade.Version": {
            "type": "object",
            "properties": {
                "major": {
                    "description": "Major is the major version of the component.",
                    "type": "integer"
                },
                "minor": {
                    "description": "Minor is the minor version of the component.",
                    "type": "integer"
                }
            }
        },
        "k8supgradeplan.CreatePlanReq": {
            "type": "object",
            "required": [
                "cloud_provider",
                "deadline",
                "eos_date",
                "eos_version",
                "name"
            ],
            "properties": {
                "cloud_provider": {
                    "type": "string"
                },
                "deadline": {
                    "type": "integer"
                },
                "eos_date": {
                    "type": "integer"
                },
                "eos_version": {
                    "type": "string"
                },
                "max_restart_times": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "selector_type": {
                    "type": "string"
                },
                "selector_value": {
                    "type": "string"
                },
                "trigger_time": {
                    "type": "integer"
                }
            }
        },
        "k8supgradeplan.CreatePlanResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "k8supgradeplan.GetPlanResp": {
            "type": "object",
            "properties": {
                "approval_id": {
                    "type": "integer"
                },
                "cloud_provider": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "created_by": {
                    "type": "string"
                },
                "deadline": {
                    "type": "integer"
                },
                "eos_date": {
                    "type": "string"
                },
                "eos_version": {
                    "type": "string"
                },
                "estimated_clusters": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "linked_task_id": {
                    "type": "integer"
                },
                "max_restart_times": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "selector_type": {
                    "type": "string"
                },
                "selector_value": {
                    "type": "string"
                },
                "source_event_id": {
                    "type": "integer"
                },
                "status": {
                    "$ref": "#/definitions/k8supgradeplan.PlanStatus"
                },
                "trigger_time": {
                    "type": "integer"
                },
                "updated_at": {
                    "type": "integer"
                }
            }
        },
        "k8supgradeplan.ListPlansResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/k8supgradeplan.PlannedUpgrade"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "k8supgradeplan.PlanStatus": {
            "type": "string",
            "enum": [
                "draft",
                "approving",
                "approved",
                "scheduled",
                "task_created",
                "rejected",
                "cancelled"
            ],
            "x-enum-varnames": [
                "PlanStatusDraft",
                "PlanStatusApproving",
                "PlanStatusApproved",
                "PlanStatusScheduled",
                "PlanStatusTaskCreated",
                "PlanStatusRejected",
                "PlanStatusCancelled"
            ]
        },
        "k8supgradeplan.PlannedUpgrade": {
            "type": "object",
            "properties": {
                "approval_id": {
                    "type": "integer"
                },
                "cloud_provider": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "created_by": {
                    "type": "string"
                },
                "deadline": {
                    "type": "integer"
                },
                "eos_date": {
                    "type": "string"
                },
                "eos_version": {
                    "type": "string"
                },
                "estimated_clusters": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "linked_task_id": {
                    "type": "integer"
                },
                "max_restart_times": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "selector_type": {
                    "type": "string"
                },
                "selector_value": {
                    "type": "string"
                },
                "source_event_id": {
                    "type": "integer"
                },
                "status": {
                    "$ref": "#/definitions/k8supgradeplan.PlanStatus"
                },
                "trigger_time": {
                    "type": "integer"
                },
                "updated_at": {
                    "type": "integer"
                }
            }
        },
        "k8supgradeplan.SchedulePlanReq": {
            "type": "object",
            "required": [
                "trigger_time"
            ],
            "properties": {
                "trigger_time": {
                    "type": "integer"
                }
            }
        },
        "k8supgradeplan.UpdatePlanReq": {
            "type": "object",
            "properties": {
                "deadline": {
                    "type": "integer"
                },
                "max_restart_times": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "selector_type": {
                    "type": "string"
                },
                "selector_value": {
                    "type": "string"
                },
                "trigger_time": {
                    "type": "integer"
                }
            }
        },
        "kernelimage.AvailabilityStatus": {
            "type": "string",
            "enum": [
                "UNKNOWN",
                "CHECKING",
                "AVAILABLE",
                "PARTIAL",
                "UNAVAILABLE",
                "CHECK_FAILED"
            ],
            "x-enum-varnames": [
                "AvailabilityStatusUnknown",
                "AvailabilityStatusChecking",
                "AvailabilityStatusAvailable",
                "AvailabilityStatusPartial",
                "AvailabilityStatusUnavailable",
                "AvailabilityStatusCheckFailed"
            ]
        },
        "kernelimage.BuildCallbackImage": {
            "type": "object",
            "required": [
                "source_repository",
                "source_tag"
            ],
            "properties": {
                "source_digest": {
                    "type": "string"
                },
                "source_repository": {
                    "type": "string"
                },
                "source_tag": {
                    "type": "string"
                }
            }
        },
        "kernelimage.BuildCallbackReq": {
            "type": "object",
            "required": [
                "commit_sha",
                "images",
                "repo"
            ],
            "properties": {
                "branch": {
                    "type": "string"
                },
                "commit_sha": {
                    "type": "string"
                },
                "git_tag": {
                    "type": "string"
                },
                "images": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "$ref": "#/definitions/kernelimage.BuildCallbackImage"
                    }
                },
                "repo": {
                    "type": "string"
                },
                "source_applicant": {
                    "type": "string"
                },
                "source_change_id": {
                    "type": "string"
                },
                "source_release_id": {
                    "type": "string"
                }
            }
        },
        "kernelimage.BuildCallbackResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "releases": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/github_com_tidbcloud_devops_api_kernelimage.Release"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "kernelimage.ExclusionReason": {
            "type": "string",
            "enum": [
                "BUILD_INCOMPLETE",
                "DELIVERY_PENDING",
                "SYNC_INCOMPLETE",
                "MASKED",
                "INVALID_VERSION",
                "OUT_OF_VERSION_WINDOW",
                "OUT_OF_IMAGE_TAG_WINDOW",
                "RETIRED"
            ],
            "x-enum-varnames": [
                "ExclusionReasonBuildIncomplete",
                "ExclusionReasonDeliveryPending",
                "ExclusionReasonSyncIncomplete",
                "ExclusionReasonMasked",
                "ExclusionReasonInvalidVersion",
                "ExclusionReasonOutOfVersionWindow",
                "ExclusionReasonOutOfImageTagWindow",
                "ExclusionReasonRetired"
            ]
        },
        "kernelimage.GetReleaseResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "release": {
                    "$ref": "#/definitions/github_com_tidbcloud_devops_api_kernelimage.Release"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "kernelimage.ListReleasesResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/github_com_tidbcloud_devops_api_kernelimage.Release"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "kernelimage.PlatformAvailability": {
            "type": "object",
            "properties": {
                "checked_at": {
                    "type": "string"
                },
                "cloud_provider": {
                    "type": "string"
                },
                "digest": {
                    "type": "string"
                },
                "digest_matches": {
                    "type": "boolean"
                },
                "error_message": {
                    "type": "string"
                },
                "image_created_at": {
                    "type": "string"
                },
                "image_ref": {
                    "type": "string"
                },
                "multi_arch": {
                    "type": "boolean"
                },
                "oci_platforms": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "registry": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                },
                "status": {
                    "$ref": "#/definitions/kernelimage.PlatformAvailabilityStatus"
                },
                "workflow_run_id": {
                    "type": "integer"
                },
                "workflow_run_url": {
                    "type": "string"
                }
            }
        },
        "kernelimage.PlatformAvailabilityStatus": {
            "type": "string",
            "enum": [
                "AVAILABLE",
                "MISSING",
                "DIGEST_MISMATCH",
                "CHECK_FAILED"
            ],
            "x-enum-varnames": [
                "PlatformAvailabilityStatusAvailable",
                "PlatformAvailabilityStatusMissing",
                "PlatformAvailabilityStatusDigestMismatch",
                "PlatformAvailabilityStatusCheckFailed"
            ]
        },
        "kernelimage.ReleaseStatus": {
            "type": "string",
            "enum": [
                "BUILT",
                "DELIVERY_OPERATION_CREATE_FAILED",
                "DELIVERY_APPROVING",
                "SYNCING",
                "SYNC_FAILED",
                "AVAILABLE",
                "RETIRED"
            ],
            "x-enum-varnames": [
                "ReleaseStatusBuilt",
                "ReleaseStatusDeliveryOperationCreateFailed",
                "ReleaseStatusDeliveryApproving",
                "ReleaseStatusSyncing",
                "ReleaseStatusSyncFailed",
                "ReleaseStatusAvailable",
                "ReleaseStatusRetired"
            ]
        },
        "kernelimage.SelectionResp": {
            "type": "object",
            "properties": {
                "calculated_at": {
                    "type": "string"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "excluded": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/github_com_tidbcloud_devops_api_kernelimage.SelectionItem"
                    }
                },
                "policy": {
                    "$ref": "#/definitions/github_com_tidbcloud_devops_api_kernelimage.SelectionPolicy"
                },
                "trace_id": {
                    "type": "string"
                },
                "versions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/github_com_tidbcloud_devops_api_kernelimage.SelectionVersion"
                    }
                }
            }
        },
        "kernelimage.SelectionState": {
            "type": "string",
            "enum": [
                "SELECTED",
                "EXCLUDED"
            ],
            "x-enum-varnames": [
                "SelectionStateSelected",
                "SelectionStateExcluded"
            ]
        },
        "maintenance.ClusterMaintenance": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "instance_id": {
                    "description": "the id of MaintenanceTask in the core svc",
                    "type": "integer"
                },
                "lark_notified_at": {
                    "type": "string"
                },
                "last_notified_customer_date": {
                    "type": "string"
                },
                "scheduled_apply_time": {
                    "type": "string"
                },
                "task": {
                    "$ref": "#/definitions/maintenance.ClusterMaintenanceTask"
                }
            }
        },
        "maintenance.ClusterMaintenanceExecution": {
            "type": "object",
            "properties": {
                "cancel_reason": {
                    "type": "string"
                },
                "cluster_id": {
                    "type": "string",
                    "example": "0"
                },
                "id": {
                    "type": "integer"
                },
                "status": {
                    "$ref": "#/definitions/maintenance.ClusterMaintenanceExecutionStatus"
                },
                "task_id": {
                    "description": "the id of MaintenanceTaskExecution in the core svc",
                    "type": "integer"
                }
            }
        },
        "maintenance.ClusterMaintenanceExecutionStatus": {
            "type": "string",
            "enum": [
                "Pending",
                "Running",
                "Done",
                "Canceled"
            ],
            "x-enum-varnames": [
                "ClusterMaintenanceExecutionStatusPending",
                "ClusterMaintenanceExecutionStatusRunning",
                "ClusterMaintenanceExecutionStatusDone",
                "ClusterMaintenanceExecutionStatusCanceled"
            ]
        },
        "maintenance.ClusterMaintenanceTask": {
            "type": "object",
            "properties": {
                "create_at": {
                    "type": "string"
                },
                "deadline": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "executions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/maintenance.ClusterMaintenanceExecution"
                    }
                },
                "id": {
                    "type": "integer"
                },
                "project_id": {
                    "type": "string",
                    "example": "0"
                },
                "schedule_time": {
                    "type": "string"
                },
                "status": {
                    "$ref": "#/definitions/maintenance.ClusterMaintenanceTaskStatus"
                }
            }
        },
        "maintenance.ClusterMaintenanceTaskStatus": {
            "type": "string",
            "enum": [
                "Pending",
                "Running",
                "Closed"
            ],
            "x-enum-varnames": [
                "ClusterMaintenanceTaskStatusPending",
                "ClusterMaintenanceTaskStatusRunning",
                "ClusterMaintenanceTaskStatusClosed"
            ]
        },
        "maintenance.ClusterOpsMaintenanceWindow": {
            "type": "object",
            "properties": {
                "approvers": {
                    "description": "Approvers is additional approvers for operation outside maintenance window.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "cluster_id": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "updated_at": {
                    "type": "string"
                },
                "windows": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/maintenance.ClusterOpsMaintenanceWindowSlot"
                    }
                }
            }
        },
        "maintenance.ClusterOpsMaintenanceWindowSlot": {
            "type": "object",
            "properties": {
                "description": {
                    "description": "Description of this maintenance window.",
                    "type": "string"
                },
                "duration": {
                    "description": "String format of time.Duration, e.g. \"1h\", \"1d\".",
                    "type": "string"
                },
                "start_cron_spec": {
                    "description": "Cron expression of window start time.",
                    "type": "string"
                }
            }
        },
        "maintenance.OpsExecutionWindow": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "integer"
                },
                "end_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "start_at": {
                    "type": "integer"
                },
                "updated_at": {
                    "type": "integer"
                }
            }
        },
        "message.EmailRecord": {
            "type": "object",
            "properties": {
                "applicant": {
                    "type": "string"
                },
                "bcc_addresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "cc_addresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "cc_target": {
                    "$ref": "#/definitions/message.EmailTarget"
                },
                "created_at": {
                    "type": "integer"
                },
                "email_template": {
                    "$ref": "#/definitions/message.EmailTemplate"
                },
                "from_address": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "description": "Name of the email record to indentify or group it",
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                },
                "to_addresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "to_target": {
                    "$ref": "#/definitions/message.EmailTarget"
                }
            }
        },
        "message.EmailTarget": {
            "type": "object",
            "properties": {
                "tenant": {
                    "$ref": "#/definitions/message.EmailTargetTenant"
                },
                "users": {
                    "$ref": "#/definitions/message.EmailTargetUsers"
                }
            }
        },
        "message.EmailTargetTenant": {
            "type": "object",
            "properties": {
                "role": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                }
            }
        },
        "message.EmailTargetUsers": {
            "type": "object",
            "properties": {
                "emails": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "message.EmailTemplate": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "variables": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                }
            }
        },
        "message.GetEmailRecordResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "record": {
                    "$ref": "#/definitions/message.EmailRecord"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "message.ListEmailRecordsResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "records": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/message.EmailRecord"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "message.SendEmailBatchRequest": {
            "type": "object",
            "properties": {
                "concurrency": {
                    "type": "integer"
                },
                "from_address": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "per_batch": {
                    "type": "integer",
                    "default": 100
                },
                "reason": {
                    "type": "string"
                },
                "target_tenants": {
                    "$ref": "#/definitions/message.SendEmailBatchTenant"
                },
                "target_users": {
                    "$ref": "#/definitions/message.SendEmailBatchUsers"
                },
                "template": {
                    "$ref": "#/definitions/message.EmailTemplate"
                }
            }
        },
        "message.SendEmailBatchResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "failed_targets": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/message.EmailTarget"
                    }
                },
                "success_targets": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/message.EmailTarget"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "message.SendEmailBatchTenant": {
            "type": "object",
            "properties": {
                "role": {
                    "type": "string"
                },
                "tenant_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "message.SendEmailBatchUsers": {
            "type": "object",
            "properties": {
                "emails": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "message.SendEmailRequest": {
            "type": "object",
            "properties": {
                "from_address": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                },
                "target": {
                    "$ref": "#/definitions/message.EmailTarget"
                },
                "template": {
                    "$ref": "#/definitions/message.EmailTemplate"
                }
            }
        },
        "mgmtportal.CommonResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "description": "the operation instance id",
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "monitoring.ComponentDifferenceItem": {
            "type": "object",
            "properties": {
                "actual": {},
                "component": {
                    "type": "string"
                },
                "desired": {},
                "key": {
                    "type": "string"
                }
            }
        },
        "monitoring.ComponentDifferenceItemsPerCluster": {
            "type": "object",
            "properties": {
                "cluster_id": {
                    "type": "string"
                },
                "cluster_name": {
                    "type": "string"
                },
                "items": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "$ref": "#/definitions/monitoring.ComponentDifferenceItem"
                        }
                    }
                },
                "project_id": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "tenant_name": {
                    "type": "string"
                },
                "tenant_region": {
                    "type": "string"
                }
            }
        },
        "monitoring.ComponentDifferenceReport": {
            "type": "object",
            "properties": {
                "difference": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/monitoring.ComponentDifferenceItemsPerCluster"
                    }
                }
            }
        },
        "monitoring.ComponentDifferenceReportMetadata": {
            "type": "object",
            "properties": {
                "cluster_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "created_at": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "request_trace_id": {
                    "type": "string"
                },
                "tenant_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "total_cluster_count": {
                    "type": "integer"
                },
                "type": {
                    "$ref": "#/definitions/monitoring.ComponentDifferenceReportType"
                }
            }
        },
        "monitoring.ComponentDifferenceReportType": {
            "type": "string",
            "enum": [
                "cluster_spec"
            ],
            "x-enum-varnames": [
                "ComponentDifferenceReportTypeClusterSpec"
            ]
        },
        "monitoring.GetReportResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "metadata": {
                    "$ref": "#/definitions/monitoring.ComponentDifferenceReportMetadata"
                },
                "report": {
                    "$ref": "#/definitions/monitoring.ComponentDifferenceReport"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "monitoring.ListReportsResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "metadatas": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/monitoring.ComponentDifferenceReportMetadata"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "o11y.Cluster": {
            "type": "object",
            "properties": {
                "agentRoleARN": {
                    "type": "string"
                },
                "alert": {
                    "$ref": "#/definitions/o11y.ClusterAlert"
                },
                "applicationID": {
                    "type": "string"
                },
                "dnsName": {
                    "type": "string"
                },
                "endpointServiceName": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "logs": {
                    "$ref": "#/definitions/o11y.ClusterLog"
                },
                "metrics": {
                    "$ref": "#/definitions/o11y.ClusterMetrics"
                },
                "note": {
                    "type": "string"
                },
                "projectID": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "ruleTemplateID": {
                    "type": "string"
                },
                "share_mode": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "tenantID": {
                    "type": "string"
                },
                "vendor": {
                    "type": "string"
                }
            }
        },
        "o11y.ClusterAlert": {
            "type": "object",
            "properties": {
                "ruleTemplate": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "o11y.ClusterLog": {
            "type": "object",
            "properties": {
                "dataRetention": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "o11y.ClusterMetrics": {
            "type": "object",
            "properties": {
                "dataRetention": {
                    "type": "integer"
                },
                "queryEndpoint": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "o11y.CreateClusterRequest": {
            "type": "object",
            "required": [
                "orgID",
                "region",
                "vendor"
            ],
            "properties": {
                "agentAccessARN": {
                    "type": "string"
                },
                "agentManagerARN": {
                    "type": "string"
                },
                "applicationID": {
                    "type": "string"
                },
                "note": {
                    "type": "string"
                },
                "orgID": {
                    "type": "string"
                },
                "projectID": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "ruleTemplateID": {
                    "type": "string"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "vendor": {
                    "type": "string"
                }
            }
        },
        "o11y.CreateClusterResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "$ref": "#/definitions/o11y.Cluster"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "o11y.DeleteClusterRequest": {
            "type": "object",
            "required": [
                "orgID",
                "region",
                "vendor"
            ],
            "properties": {
                "orgID": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "vendor": {
                    "type": "string"
                }
            }
        },
        "o11y.DeleteClusterResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "$ref": "#/definitions/o11y.Cluster"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "o11y.GetClusterResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "$ref": "#/definitions/o11y.Cluster"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "o11y.ListClustersResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "$ref": "#/definitions/o11y.ListClustersResponseData"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "o11y.ListClustersResponseData": {
            "type": "object",
            "properties": {
                "clusters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/o11y.Cluster"
                    }
                }
            }
        },
        "operation.ActionMetadata": {
            "type": "object",
            "properties": {
                "allow_anyone_apply": {
                    "description": "If true, anyone can apply this action after approval.",
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "type": {
                    "$ref": "#/definitions/operation.ActionType"
                }
            }
        },
        "operation.ActionStartPolicy": {
            "type": "string",
            "enum": [
                "manual",
                "immediate",
                "schedule"
            ],
            "x-enum-varnames": [
                "ActionStartPolicyManual",
                "ActionStartPolicyImmediate",
                "ActionStartPolicySchedule"
            ]
        },
        "operation.ActionStatus": {
            "type": "string",
            "enum": [
                "created",
                "running",
                "succeeded",
                "failed",
                "unknown",
                "skipped",
                "canceled"
            ],
            "x-enum-varnames": [
                "ActionStatusCreated",
                "ActionStatusRunning",
                "ActionStatusSucceeded",
                "ActionStatusFailed",
                "ActionStatusUnknown",
                "ActionStatusSkipped",
                "ActionStatusCanceled"
            ]
        },
        "operation.ActionType": {
            "type": "string",
            "enum": [
                "auto",
                "manual"
            ],
            "x-enum-varnames": [
                "ActionTypeAuto",
                "ActionTypeManual"
            ]
        },
        "operation.CreateInstanceAction": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "start_policy": {
                    "$ref": "#/definitions/operation.ActionStartPolicy"
                },
                "start_schedule_at": {
                    "type": "integer"
                }
            }
        },
        "operation.CreateInstanceReq": {
            "type": "object",
            "properties": {
                "actions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/operation.CreateInstanceAction"
                    }
                },
                "execution_window": {
                    "$ref": "#/definitions/cluster.CreateOpsExecutionWindowReq"
                },
                "is_draft": {
                    "type": "boolean"
                },
                "operation": {
                    "type": "string"
                },
                "params": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "reason": {
                    "type": "string"
                },
                "type": {
                    "$ref": "#/definitions/operation.OperationTarget"
                }
            }
        },
        "operation.CreateInstanceResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "operation.FinishInstanceActionReq": {
            "type": "object",
            "properties": {
                "output": {
                    "type": "string"
                },
                "result": {
                    "$ref": "#/definitions/operation.ActionStatus"
                }
            }
        },
        "operation.GetActionResp": {
            "type": "object",
            "properties": {
                "action": {
                    "$ref": "#/definitions/operation.ActionMetadata"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "operation.GetInstanceResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance": {
                    "$ref": "#/definitions/operation.Instance"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "operation.GetOperationResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "operation": {
                    "$ref": "#/definitions/operation.Operation"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "operation.Instance": {
            "type": "object",
            "properties": {
                "actions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/operation.InstanceAction"
                    }
                },
                "applicant": {
                    "description": "Applicant is the user email who create the instance.",
                    "type": "string"
                },
                "approval_id": {
                    "type": "integer"
                },
                "closed_at": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "integer"
                },
                "execution_window": {
                    "description": "only set in get/list API",
                    "allOf": [
                        {
                            "$ref": "#/definitions/maintenance.OpsExecutionWindow"
                        }
                    ]
                },
                "execution_window_id": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "operation": {
                    "type": "string"
                },
                "operator_entity": {
                    "description": "OperatorEntity is the real operation entity who create the instance.",
                    "type": "string"
                },
                "outputs": {
                    "description": "Outputs is a map used to store some contexts or results for actions.",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "params": {
                    "description": "Params is a map used to provide parameters for actions.",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "phase": {
                    "description": "status",
                    "allOf": [
                        {
                            "$ref": "#/definitions/operation.InstancePhase"
                        }
                    ]
                },
                "reason": {
                    "type": "string"
                },
                "type": {
                    "$ref": "#/definitions/operation.OperationTarget"
                }
            }
        },
        "operation.InstanceAction": {
            "type": "object",
            "properties": {
                "finished_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "order": {
                    "type": "integer"
                },
                "output": {
                    "type": "string"
                },
                "start_policy": {
                    "$ref": "#/definitions/operation.ActionStartPolicy"
                },
                "start_schedule_at": {
                    "description": "schedule time if start policy is `schedule`",
                    "type": "integer"
                },
                "started_at": {
                    "type": "integer"
                },
                "status": {
                    "$ref": "#/definitions/operation.ActionStatus"
                },
                "type": {
                    "$ref": "#/definitions/operation.ActionType"
                }
            }
        },
        "operation.InstancePhase": {
            "type": "string",
            "enum": [
                "draft",
                "created",
                "approving",
                "withdrawn",
                "pending",
                "running",
                "succeeded",
                "failed",
                "canceled"
            ],
            "x-enum-varnames": [
                "InstancePhaseDraft",
                "InstancePhaseCreated",
                "InstancePhaseApproving",
                "InstancePhaseWithdrawn",
                "InstancePhasePending",
                "InstancePhaseRunning",
                "InstancePhaseSucceeded",
                "InstancePhaseFailed",
                "InstancePhaseCanceled"
            ]
        },
        "operation.ListActionResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/operation.ActionMetadata"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "operation.ListInstanceResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/operation.Instance"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "operation.ListOperationCategoryResp": {
            "type": "object",
            "properties": {
                "categories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "operation.ListOperationResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/operation.Operation"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "operation.Operation": {
            "type": "object",
            "properties": {
                "actions": {
                    "description": "Actions is actions be executed in an operation.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/operation.OperationAction"
                    }
                },
                "alias": {
                    "description": "Alias is the shown name of an operation when creating.",
                    "type": "string"
                },
                "approval": {
                    "description": "Approval is the approval template of the operation.\n\nNOTE: The template is injected with format `operation/\u003cName\u003e` to avoid",
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.Template"
                        }
                    ]
                },
                "approval_tips": {
                    "description": "ApprovalTips is the text shown on approval page.",
                    "type": "string"
                },
                "categories": {
                    "description": "Categories is the category of an operation.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "description": {
                    "description": "Description is the description of an operation.",
                    "type": "string"
                },
                "internal": {
                    "description": "Internal means this operation is internal and only created by system.\nIt will not be shown on UI when internal is true.",
                    "type": "boolean"
                },
                "name": {
                    "description": "Name is the unique identifier of an operation.",
                    "type": "string"
                },
                "params": {
                    "description": "Params is params of an operation, it will be used in actions.",
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/operation.ParamDefine"
                    }
                },
                "runtime_data": {
                    "description": "RuntimeData is injected by backend at read time only.",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "target": {
                    "description": "Target is the target of an operation.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/operation.OperationTarget"
                        }
                    ]
                }
            }
        },
        "operation.OperationAction": {
            "type": "object",
            "properties": {
                "name": {
                    "description": "Name is the action name.",
                    "type": "string"
                },
                "optional": {
                    "description": "Optional means this action is optional.",
                    "type": "boolean"
                },
                "prefer_schedule_hour": {
                    "description": "PreferScheduleHour is the default schedule hour, and the schedule time is `now()+hour` when shown on UI.",
                    "type": "integer"
                },
                "prefer_start_policy": {
                    "description": "PreferStartPolicy is the default start policy when shown on UI.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/operation.ActionStartPolicy"
                        }
                    ]
                }
            }
        },
        "operation.OperationTarget": {
            "type": "string",
            "enum": [
                "cluster",
                "tenant",
                "project",
                "user",
                "region",
                "resource_pool",
                "undefined"
            ],
            "x-enum-varnames": [
                "OperationTargetCluster",
                "OperationTargetTenant",
                "OperationTargetProject",
                "OperationTargetUser",
                "OperationTargetRegion",
                "OperationTargetResourcePool",
                "OperationTargetUndefined"
            ]
        },
        "operation.ParamDefine": {
            "type": "object",
            "properties": {
                "const": {
                    "description": "Const is the const value of the param.",
                    "type": "string"
                },
                "default": {
                    "description": "Default is the default value of the param.",
                    "type": "string"
                },
                "desc": {
                    "description": "Description is the description of the param.",
                    "type": "string"
                },
                "enum": {
                    "description": "Enum is the enum value of the param.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "multi_enum": {
                    "description": "MultiEnum is the multi enum value of the param.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "optional": {
                    "description": "Optional is whether this param is optional.",
                    "type": "boolean"
                },
                "type": {
                    "$ref": "#/definitions/operation.ParamType"
                }
            }
        },
        "operation.ParamType": {
            "type": "string",
            "enum": [
                "string",
                "int",
                "map"
            ],
            "x-enum-varnames": [
                "ParamTypeString",
                "ParamTypeInt",
                "ParamTypeMap"
            ]
        },
        "operation.PreviewInstanceResp": {
            "type": "object",
            "properties": {
                "advisories": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/github_com_tidbcloud_devops_api_operation.Advisory"
                    }
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "operation.UpdateInstanceReq": {
            "type": "object",
            "properties": {
                "actions": {
                    "description": "actions to update, if empty",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/operation.CreateInstanceAction"
                    }
                },
                "params": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "reason": {
                    "type": "string"
                }
            }
        },
        "premiumupgrade.CheckTargetConflictsReq": {
            "type": "object",
            "required": [
                "cluster_ids"
            ],
            "properties": {
                "cluster_ids": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "premiumupgrade.CheckTargetConflictsResp": {
            "type": "object",
            "properties": {
                "conflicts": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/api.TargetConflict"
                    }
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "premiumupgrade.CreatePlanReq": {
            "type": "object",
            "required": [
                "cluster_ids",
                "desired_version",
                "expected_manifest_hash",
                "name",
                "reason",
                "scope"
            ],
            "properties": {
                "cluster_ids": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                },
                "component_image_tags": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/api.ComponentImageTag"
                    }
                },
                "desired_version": {
                    "type": "string"
                },
                "execution_mode": {
                    "$ref": "#/definitions/premiumupgrade.ExecutionMode"
                },
                "expected_manifest_hash": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                },
                "scope": {
                    "$ref": "#/definitions/api.UpgradeScope"
                }
            }
        },
        "premiumupgrade.CreatePlanResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "plan": {
                    "$ref": "#/definitions/premiumupgrade.UpgradePlan"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "premiumupgrade.ExecutionMode": {
            "type": "string",
            "enum": [
                "orchestrated",
                "step_by_step"
            ],
            "x-enum-varnames": [
                "ExecutionModeOrchestrated",
                "ExecutionModeStepByStep"
            ]
        },
        "premiumupgrade.GetPlanResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "plan": {
                    "$ref": "#/definitions/premiumupgrade.UpgradePlan"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "premiumupgrade.ListComponentPoliciesResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/api.ComponentPolicy"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "premiumupgrade.ListPlansResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/premiumupgrade.UpgradePlan"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "premiumupgrade.PlanStatus": {
            "type": "string",
            "enum": [
                "approval_pending_create",
                "approval_creating",
                "approval_reconcile_required",
                "pending_approval",
                "approved",
                "running",
                "cancelling",
                "completed",
                "partial_failed",
                "failed",
                "rejected",
                "cancelled"
            ],
            "x-enum-varnames": [
                "PlanStatusApprovalPendingCreate",
                "PlanStatusApprovalCreating",
                "PlanStatusApprovalReconcileRequired",
                "PlanStatusPendingApproval",
                "PlanStatusApproved",
                "PlanStatusRunning",
                "PlanStatusCancelling",
                "PlanStatusCompleted",
                "PlanStatusPartialFailed",
                "PlanStatusFailed",
                "PlanStatusRejected",
                "PlanStatusCancelled"
            ]
        },
        "premiumupgrade.PreviewPlanReq": {
            "type": "object",
            "required": [
                "cluster_ids",
                "desired_version",
                "scope"
            ],
            "properties": {
                "cluster_ids": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                },
                "component_image_tags": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/api.ComponentImageTag"
                    }
                },
                "desired_version": {
                    "type": "string"
                },
                "execution_mode": {
                    "$ref": "#/definitions/premiumupgrade.ExecutionMode"
                },
                "scope": {
                    "$ref": "#/definitions/api.UpgradeScope"
                }
            }
        },
        "premiumupgrade.PreviewPlanResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "preview": {
                    "$ref": "#/definitions/api.PreviewPlanResult"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "premiumupgrade.ScopeMode": {
            "type": "string",
            "enum": [
                "selected",
                "all_present"
            ],
            "x-enum-varnames": [
                "ScopeModeSelected",
                "ScopeModeAllPresent"
            ]
        },
        "premiumupgrade.StepStatus": {
            "type": "string",
            "enum": [
                "pending",
                "preparing",
                "waiting_conflict",
                "waiting_manual_apply",
                "applying",
                "succeeded",
                "failed",
                "skipped",
                "cancelled"
            ],
            "x-enum-varnames": [
                "StepStatusPending",
                "StepStatusPreparing",
                "StepStatusWaitingConflict",
                "StepStatusWaitingManualApply",
                "StepStatusApplying",
                "StepStatusSucceeded",
                "StepStatusFailed",
                "StepStatusSkipped",
                "StepStatusCancelled"
            ]
        },
        "premiumupgrade.TargetStatus": {
            "type": "string",
            "enum": [
                "pending",
                "running",
                "waiting_conflict",
                "completed",
                "failed",
                "cancelled"
            ],
            "x-enum-varnames": [
                "TargetStatusPending",
                "TargetStatusRunning",
                "TargetStatusWaitingConflict",
                "TargetStatusCompleted",
                "TargetStatusFailed",
                "TargetStatusCancelled"
            ]
        },
        "premiumupgrade.UpgradePlan": {
            "type": "object",
            "properties": {
                "applicant": {
                    "type": "string"
                },
                "approval_id": {
                    "type": "integer"
                },
                "approval_manifest": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "approval_status": {
                    "$ref": "#/definitions/entity.ApprovalStatus"
                },
                "cancel_requested_at": {
                    "type": "string"
                },
                "component_order_revision": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "desired_version": {
                    "type": "string"
                },
                "execution_mode": {
                    "$ref": "#/definitions/premiumupgrade.ExecutionMode"
                },
                "finished_at": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "idempotency_key": {
                    "type": "string"
                },
                "last_error": {
                    "type": "string"
                },
                "manifest_hash": {
                    "type": "string"
                },
                "max_parallel_targets": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "operator_entity": {
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                },
                "requested_cluster_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "requested_components": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "scope_mode": {
                    "$ref": "#/definitions/premiumupgrade.ScopeMode"
                },
                "started_at": {
                    "type": "string"
                },
                "status": {
                    "$ref": "#/definitions/premiumupgrade.PlanStatus"
                },
                "targets": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/premiumupgrade.UpgradeTarget"
                    }
                },
                "updated_at": {
                    "type": "string"
                },
                "version": {
                    "type": "integer"
                }
            }
        },
        "premiumupgrade.UpgradeStep": {
            "type": "object",
            "properties": {
                "apply_deadline_at": {
                    "type": "string"
                },
                "apply_group": {
                    "type": "string"
                },
                "apply_mode": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "apply_strategy": {
                    "type": "string"
                },
                "attempt_count": {
                    "type": "integer"
                },
                "components": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/premiumupgrade.UpgradeStepComponent"
                    }
                },
                "configuration_change_id": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "finished_at": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "last_error_code": {
                    "type": "string"
                },
                "last_error_message": {
                    "type": "string"
                },
                "next_retry_at": {
                    "type": "string"
                },
                "plan_id": {
                    "type": "integer"
                },
                "sequence": {
                    "type": "integer"
                },
                "started_at": {
                    "type": "string"
                },
                "status": {
                    "$ref": "#/definitions/premiumupgrade.StepStatus"
                },
                "status_reason": {
                    "type": "string"
                },
                "target_id": {
                    "type": "integer"
                },
                "updated_at": {
                    "type": "string"
                },
                "version": {
                    "type": "integer"
                }
            }
        },
        "premiumupgrade.UpgradeStepComponent": {
            "type": "object",
            "properties": {
                "component": {
                    "type": "string"
                },
                "from_image_tag": {
                    "type": "string"
                },
                "from_version": {
                    "type": "string"
                },
                "to_image_tag": {
                    "type": "string"
                },
                "to_version": {
                    "type": "string"
                }
            }
        },
        "premiumupgrade.UpgradeTarget": {
            "type": "object",
            "properties": {
                "cloud_provider": {
                    "type": "string"
                },
                "cluster_id": {
                    "type": "string"
                },
                "cluster_name": {
                    "type": "string"
                },
                "cluster_type": {
                    "$ref": "#/definitions/cloudconfig.ClusterType"
                },
                "created_at": {
                    "type": "string"
                },
                "finished_at": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "last_error": {
                    "type": "string"
                },
                "logical_region": {
                    "type": "string"
                },
                "plan_id": {
                    "type": "integer"
                },
                "shared_pool_id": {
                    "type": "string"
                },
                "source_cluster_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "started_at": {
                    "type": "string"
                },
                "status": {
                    "$ref": "#/definitions/premiumupgrade.TargetStatus"
                },
                "steps": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/premiumupgrade.UpgradeStep"
                    }
                },
                "tenant_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "privilege.ApprovalPrivilegeContent": {
            "type": "object",
            "properties": {
                "scopes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/privilege.ApprovalPrivilegeScope"
                    }
                }
            }
        },
        "privilege.ApprovalPrivilegeScope": {
            "type": "string",
            "enum": [
                "jump-service"
            ],
            "x-enum-varnames": [
                "PrivilegeApprovalScopeJumpService"
            ]
        },
        "privilege.GetPrivilegeResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "privilege": {
                    "$ref": "#/definitions/privilege.Privilege"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "privilege.ListPrivilegesResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/privilege.Privilege"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "privilege.Privilege": {
            "type": "object",
            "properties": {
                "applicant": {
                    "type": "string"
                },
                "approval_id": {
                    "type": "integer"
                },
                "bindings": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/privilege.PrivilegeBinding"
                    }
                },
                "closed_at": {
                    "type": "integer"
                },
                "content": {
                    "$ref": "#/definitions/privilege.PrivilegeContent"
                },
                "created_at": {
                    "type": "integer"
                },
                "expired_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "phase": {
                    "$ref": "#/definitions/privilege.PrivilegePhase"
                },
                "reason": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                },
                "type": {
                    "$ref": "#/definitions/privilege.PrivilegeType"
                }
            }
        },
        "privilege.PrivilegeBinding": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "user": {
                    "description": "email",
                    "type": "string"
                }
            }
        },
        "privilege.PrivilegeContent": {
            "type": "object",
            "properties": {
                "approval_scope": {
                    "$ref": "#/definitions/privilege.ApprovalPrivilegeContent"
                }
            }
        },
        "privilege.PrivilegePhase": {
            "type": "string",
            "enum": [
                "created",
                "approving",
                "active",
                "revoked",
                "unapproved"
            ],
            "x-enum-varnames": [
                "PrivilegePhaseCreated",
                "PrivilegePhaseApproving",
                "PrivilegePhaseActive",
                "PrivilegePhaseRevoked",
                "PrivilegePhaseUnapproved"
            ]
        },
        "privilege.PrivilegeType": {
            "type": "string",
            "enum": [
                "approval"
            ],
            "x-enum-varnames": [
                "PrivilegeTypeApproval"
            ]
        },
        "privilege.RequestApprovalPrivilegeReq": {
            "type": "object",
            "properties": {
                "scopes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/privilege.ApprovalPrivilegeScope"
                    }
                }
            }
        },
        "privilege.RequestPrivilegeReq": {
            "type": "object",
            "properties": {
                "approval": {
                    "$ref": "#/definitions/privilege.RequestApprovalPrivilegeReq"
                },
                "binding_users": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "expired_at": {
                    "type": "integer"
                },
                "reason": {
                    "type": "string"
                }
            }
        },
        "privilege.RequestPrivilegeResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "privilege_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "project.AddSecondaryCIDRReq": {
            "type": "object",
            "properties": {
                "provider": {
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "secondary_cidr": {
                    "type": "string"
                }
            }
        },
        "project.CommonResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "description": "the operation instance id",
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "project.ListVPCsResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/project.VPC"
                    }
                }
            }
        },
        "project.VPC": {
            "type": "object",
            "properties": {
                "cloud_provider": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "org_id": {
                    "type": "integer"
                },
                "project_id": {
                    "type": "integer"
                },
                "region": {
                    "type": "string"
                },
                "secondary_cidrs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "tidb_cloud_cidr_block": {
                    "type": "string"
                }
            }
        },
        "region.DefaultProviderIdentity": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "identity": {
                    "type": "string"
                },
                "service_plan": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                }
            }
        },
        "region.GetRegionResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "region": {
                    "$ref": "#/definitions/region.Region"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "region.ListRegionsResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "regions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/region.Region"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "region.Region": {
            "type": "object",
            "properties": {
                "default_provider_identities": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/region.DefaultProviderIdentity"
                    }
                },
                "deploy_type": {
                    "type": "string"
                },
                "region": {
                    "$ref": "#/definitions/region.RegionSpec"
                },
                "region_provider_identities": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/region.RegionProviderIdentity"
                    }
                }
            }
        },
        "region.RegionOpsAuditLogSetting": {
            "type": "object",
            "properties": {
                "enabled": {
                    "type": "boolean"
                },
                "log_location": {
                    "$ref": "#/definitions/region.RegionOpsAuditLogSettingLogLocation"
                },
                "log_rotation": {
                    "$ref": "#/definitions/region.RegionOpsAuditLogSettingLogRotation"
                }
            }
        },
        "region.RegionOpsAuditLogSettingLogLocation": {
            "type": "object",
            "properties": {
                "account_id": {
                    "type": "string"
                },
                "bucket_uri": {
                    "type": "string"
                },
                "external_id": {
                    "type": "string"
                },
                "role_arn": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "region.RegionOpsAuditLogSettingLogRotation": {
            "type": "object",
            "properties": {
                "file_size_limit_in_mb": {
                    "type": "integer"
                },
                "rotation_interval_in_min": {
                    "type": "integer"
                }
            }
        },
        "region.RegionProviderIdentity": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "identity": {
                    "type": "string"
                },
                "is_default": {
                    "type": "boolean"
                }
            }
        },
        "region.RegionSpec": {
            "type": "object",
            "properties": {
                "area": {
                    "type": "string"
                },
                "cloud_provider_id": {
                    "type": "string"
                },
                "country_code": {
                    "type": "string"
                },
                "default_backup_time": {
                    "type": "string"
                },
                "display_name": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "is_public": {
                    "type": "boolean"
                },
                "logical_name": {
                    "type": "string"
                },
                "opened_tenant_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "ops_audit_log_setting": {
                    "$ref": "#/definitions/region.RegionOpsAuditLogSetting"
                },
                "region_white_lists": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/region.RegionWhiteList"
                    }
                },
                "service_address": {
                    "type": "string"
                },
                "service_plan": {
                    "type": "string"
                },
                "shared_bucket_url": {
                    "type": "string"
                },
                "sort_priority": {
                    "type": "integer"
                },
                "state": {
                    "type": "string"
                }
            }
        },
        "region.RegionWhiteList": {
            "type": "object",
            "properties": {
                "is_public": {
                    "type": "boolean"
                },
                "opened_tenant_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "service_plan": {
                    "type": "string"
                }
            }
        },
        "region.RegisterRegionProviderIdentityRequest": {
            "type": "object",
            "required": [
                "identity",
                "region_logical_name"
            ],
            "properties": {
                "identity": {
                    "type": "string",
                    "maxLength": 255
                },
                "is_default": {
                    "type": "boolean"
                },
                "region_logical_name": {
                    "type": "string"
                }
            }
        },
        "region.RegisterRegionProviderIdentityResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "region_provider_identity": {
                    "$ref": "#/definitions/region.RegionProviderIdentity"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "region.RegisterRegionRequest": {
            "type": "object",
            "required": [
                "cloud_provider",
                "deploy_type",
                "display_name",
                "logical_region_name",
                "region_name",
                "region_state",
                "service_address",
                "service_plan"
            ],
            "properties": {
                "cloud_provider": {
                    "type": "string"
                },
                "default_backup_time": {
                    "type": "string"
                },
                "deploy_type": {
                    "type": "string"
                },
                "display_name": {
                    "type": "string"
                },
                "is_public": {
                    "type": "boolean"
                },
                "logical_region_name": {
                    "type": "string"
                },
                "opened_tenant_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "reason": {
                    "type": "string"
                },
                "region_name": {
                    "type": "string"
                },
                "region_state": {
                    "type": "string"
                },
                "service_address": {
                    "type": "string"
                },
                "service_plan": {
                    "type": "string"
                }
            }
        },
        "region.RegisterRegionResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "region.UpdateRegionRequest": {
            "type": "object",
            "properties": {
                "changed": {
                    "type": "string"
                },
                "cloud_provider": {
                    "type": "string"
                },
                "default_provider_identities": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/region.DefaultProviderIdentity"
                    }
                },
                "deploy_type": {
                    "type": "string"
                },
                "is_public": {
                    "type": "boolean"
                },
                "logical_name": {
                    "type": "string"
                },
                "opened_tenant_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "reason": {
                    "type": "string"
                },
                "region_state": {
                    "type": "string"
                },
                "region_white_lists": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/region.RegionWhiteList"
                    }
                },
                "service_address": {
                    "type": "string"
                },
                "service_plan": {
                    "type": "string"
                }
            }
        },
        "region.UpdateRegionResponse": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "release.Change": {
            "type": "object",
            "properties": {
                "applicant": {
                    "$ref": "#/definitions/userv1.User"
                },
                "applicant_email": {
                    "type": "string"
                },
                "application": {
                    "$ref": "#/definitions/application.Application"
                },
                "application_id": {
                    "type": "string"
                },
                "approval_id": {
                    "description": "the used approval id",
                    "type": "integer"
                },
                "change_item_names": {
                    "description": "release ticket names",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "change_items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/release.ReleaseTicket"
                    }
                },
                "closed_at": {
                    "type": "string"
                },
                "created_at": {
                    "description": "readonly",
                    "type": "string"
                },
                "deployments": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/release.ChangeDeployment"
                    }
                },
                "detail": {
                    "$ref": "#/definitions/release.ChangeDetail"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "notification": {
                    "$ref": "#/definitions/release.ChangeNotification"
                },
                "prev_approval_ids": {
                    "description": "the previous approval ids",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "release": {
                    "$ref": "#/definitions/release.Release"
                },
                "release_id": {
                    "description": "release id",
                    "type": "integer"
                },
                "result": {
                    "$ref": "#/definitions/release.ChangeResult"
                },
                "risk_level": {
                    "$ref": "#/definitions/release.RiskLevel"
                },
                "status": {
                    "$ref": "#/definitions/release.ChangeStatus"
                },
                "status_reason": {
                    "description": "the reason to describe why the status changed or pending",
                    "type": "string"
                },
                "tier": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/release.ChangeTier"
                    }
                },
                "type": {
                    "$ref": "#/definitions/release.ChangeType"
                },
                "window_end_at": {
                    "description": "timestamp, zero means unlimited",
                    "type": "integer"
                },
                "window_start_at": {
                    "description": "timestamp, zero means unlimited",
                    "type": "integer"
                }
            }
        },
        "release.ChangeDeployArgoCD": {
            "type": "object",
            "properties": {
                "deploy_prs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/release.GithubPR"
                    }
                }
            }
        },
        "release.ChangeDeployEEAPI": {
            "type": "object",
            "properties": {
                "ee_api_build_ng_image": {
                    "$ref": "#/definitions/eecli.BumpNgTagRequest"
                }
            }
        },
        "release.ChangeDeployInfo": {
            "type": "object",
            "properties": {
                "argocd": {
                    "$ref": "#/definitions/release.ChangeDeployArgoCD"
                },
                "description": {
                    "description": "save as JSON in DB, so all fields MUST be set json tag.",
                    "type": "string"
                },
                "ee_api": {
                    "$ref": "#/definitions/release.ChangeDeployEEAPI"
                },
                "manual": {
                    "$ref": "#/definitions/release.ChangeDeployManual"
                }
            }
        },
        "release.ChangeDeployManual": {
            "type": "object",
            "properties": {
                "description": {
                    "description": "Deprecated, use ChangeDeployInfo.Description instead.",
                    "type": "string"
                }
            }
        },
        "release.ChangeDeployMethod": {
            "type": "string",
            "enum": [
                "argocd",
                "manual",
                "ee_api"
            ],
            "x-enum-varnames": [
                "ChangeDeployMethodArgoCD",
                "ChangeDeployMethodManual",
                "ChangeDeployMethodEEAPI"
            ]
        },
        "release.ChangeDeployStatus": {
            "type": "string",
            "enum": [
                "created",
                "deployed",
                "verified"
            ],
            "x-enum-varnames": [
                "ChangeDeployStatusCreated",
                "ChangeDeployStatusDeployed",
                "ChangeDeployStatusVerified"
            ]
        },
        "release.ChangeDeployment": {
            "type": "object",
            "properties": {
                "deployed_at": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "info": {
                    "$ref": "#/definitions/release.ChangeDeployInfo"
                },
                "method": {
                    "$ref": "#/definitions/release.ChangeDeployMethod"
                },
                "note": {
                    "type": "string"
                },
                "order": {
                    "type": "integer"
                },
                "regions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/release.RegionName"
                    }
                },
                "status": {
                    "$ref": "#/definitions/release.ChangeDeployStatus"
                }
            }
        },
        "release.ChangeDetail": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "need_outage": {
                    "type": "boolean"
                },
                "note": {
                    "type": "string"
                },
                "rollback_plan": {
                    "type": "string"
                },
                "staging_test_report": {
                    "type": "string"
                },
                "summary": {
                    "type": "string"
                }
            }
        },
        "release.ChangeNotification": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "lark_topic_created_at": {
                    "type": "string"
                },
                "lark_topic_id": {
                    "type": "string"
                },
                "notified_to_close_at": {
                    "type": "string"
                }
            }
        },
        "release.ChangeResult": {
            "type": "string",
            "enum": [
                "cancel",
                "successful",
                "failed",
                "failed_partially",
                "rollback"
            ],
            "x-enum-varnames": [
                "ChangeResultCancel",
                "ChangeResultSuccessful",
                "ChangeResultFailed",
                "ChangeResultFailedPartially",
                "ChangeResultRollback"
            ]
        },
        "release.ChangeStatus": {
            "type": "string",
            "enum": [
                "draft",
                "created",
                "approving",
                "wait_for_deploy",
                "in_progress",
                "observing",
                "closed",
                "withdrawn"
            ],
            "x-enum-varnames": [
                "ChangeStatusDraft",
                "ChangeStatusCreated",
                "ChangeStatusApproving",
                "ChangeStatusWaitForDeploy",
                "ChangeStatusInProgress",
                "ChangeStatusObserving",
                "ChangeStatusClosed",
                "ChangeStatusWithdrawn"
            ]
        },
        "release.ChangeTier": {
            "type": "string",
            "enum": [
                "dedicated",
                "serverless",
                "premium"
            ],
            "x-enum-varnames": [
                "ChangeTierDedicated",
                "ChangeTierServerless",
                "ChangeTierPremium"
            ]
        },
        "release.ChangeType": {
            "type": "string",
            "enum": [
                "sprint",
                "hotfix"
            ],
            "x-enum-varnames": [
                "ChangeTypeSprint",
                "ChangeTypeHotfix"
            ]
        },
        "release.CloseChangeReq": {
            "type": "object",
            "required": [
                "result",
                "summary"
            ],
            "properties": {
                "result": {
                    "$ref": "#/definitions/release.ChangeResult"
                },
                "summary": {
                    "type": "string"
                }
            }
        },
        "release.CreateChangeReq": {
            "type": "object",
            "required": [
                "application_name",
                "name",
                "release_id",
                "risk_level",
                "tier",
                "window_end_at",
                "window_start_at"
            ],
            "properties": {
                "applicant": {
                    "type": "string"
                },
                "application_name": {
                    "type": "string"
                },
                "change_item_names": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "deployments": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/release.Deployment"
                    }
                },
                "is_draft": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "need_outage": {
                    "type": "boolean"
                },
                "note": {
                    "type": "string"
                },
                "release_id": {
                    "type": "integer"
                },
                "risk_level": {
                    "$ref": "#/definitions/release.RiskLevel"
                },
                "rollback_plan": {
                    "type": "string"
                },
                "staging_test_report": {
                    "type": "string"
                },
                "tier": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/release.ChangeTier"
                    }
                },
                "type": {
                    "$ref": "#/definitions/release.ChangeType"
                },
                "window_end_at": {
                    "type": "integer"
                },
                "window_start_at": {
                    "type": "integer"
                }
            }
        },
        "release.CreateChangeResp": {
            "type": "object",
            "properties": {
                "change_id": {
                    "type": "integer"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "release.DefaultChangeResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                },
                "window_end_at": {
                    "type": "integer"
                },
                "window_start_at": {
                    "type": "integer"
                }
            }
        },
        "release.Deployment": {
            "type": "object",
            "required": [
                "deploy_method",
                "order",
                "regions"
            ],
            "properties": {
                "branch": {
                    "type": "string"
                },
                "commit": {
                    "type": "string"
                },
                "deploy_cd_link": {
                    "type": "string"
                },
                "deploy_description": {
                    "type": "string"
                },
                "deploy_method": {
                    "$ref": "#/definitions/release.ChangeDeployMethod"
                },
                "order": {
                    "type": "integer"
                },
                "regions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/release.RegionName"
                    }
                },
                "repo": {
                    "type": "string"
                }
            }
        },
        "release.ExecuteDeploymentReq": {
            "type": "object",
            "properties": {
                "force": {
                    "type": "boolean"
                }
            }
        },
        "release.GetChangeResp": {
            "type": "object",
            "properties": {
                "change": {
                    "$ref": "#/definitions/release.Change"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "release_tickets": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/release.ReleaseTicket"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "release.GetReleaseResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "release": {
                    "$ref": "#/definitions/release.Release"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "release.GetTicketResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "ticket": {
                    "$ref": "#/definitions/release.ReleaseTicket"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "release.GithubPR": {
            "type": "object",
            "properties": {
                "link": {
                    "type": "string"
                },
                "pr_number": {
                    "type": "integer"
                },
                "repo_name": {
                    "type": "string"
                },
                "repo_owner": {
                    "type": "string"
                }
            }
        },
        "release.IsDeploymentReadyResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "is_ready": {
                    "type": "boolean"
                },
                "reasons": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "release.ListChangeResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/release.Change"
                    }
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "release.ListReleaseResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/release.Release"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "release.ListTicketsResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/release.ReleaseTicket"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "release.RegionName": {
            "type": "string",
            "enum": [
                "us-west1",
                "us-west-2"
            ],
            "x-enum-varnames": [
                "RegionNameGCPUsWest1",
                "RegionNameAWSUsWest2"
            ]
        },
        "release.Release": {
            "type": "object",
            "properties": {
                "closed_at": {
                    "type": "string"
                },
                "id": {
                    "description": "release id in repo",
                    "type": "integer"
                },
                "name": {
                    "description": "ex: release-20230501",
                    "type": "string"
                },
                "status": {
                    "$ref": "#/definitions/release.ReleaseStatus"
                },
                "tickets": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/release.ReleaseTicket"
                    }
                },
                "type": {
                    "$ref": "#/definitions/release.ReleaseType"
                },
                "window_end_at": {
                    "type": "string"
                },
                "window_start_at": {
                    "type": "string"
                }
            }
        },
        "release.ReleaseStatus": {
            "type": "string",
            "enum": [
                "before_release",
                "open",
                "finished"
            ],
            "x-enum-varnames": [
                "ReleaseStatusBeforeRelease",
                "ReleaseStatusOpen",
                "ReleaseStatusFinished"
            ]
        },
        "release.ReleaseTicket": {
            "type": "object",
            "properties": {
                "assignee_email": {
                    "description": "empty string means unassigned",
                    "type": "string"
                },
                "github_pr_locations": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "github_prs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/github.PullRequest"
                    }
                },
                "name": {
                    "type": "string"
                },
                "release_id": {
                    "type": "integer"
                },
                "release_name": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "summary": {
                    "type": "string"
                },
                "type": {
                    "$ref": "#/definitions/release.ReleaseTicketType"
                }
            }
        },
        "release.ReleaseTicketType": {
            "type": "string",
            "enum": [
                "dm"
            ],
            "x-enum-varnames": [
                "ReleaseTicketTypeDM"
            ]
        },
        "release.ReleaseType": {
            "type": "string",
            "enum": [
                "periodic"
            ],
            "x-enum-varnames": [
                "ReleaseTypePeriodic"
            ]
        },
        "release.RiskLevel": {
            "type": "string",
            "enum": [
                "low",
                "high"
            ],
            "x-enum-varnames": [
                "RiskLevelLow",
                "RiskLevelHigh"
            ]
        },
        "release.UpdateChangeReq": {
            "type": "object",
            "properties": {
                "change_item_names": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "deployments": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/release.Deployment"
                    }
                },
                "name": {
                    "type": "string"
                },
                "need_outage": {
                    "type": "boolean"
                },
                "note": {
                    "type": "string"
                },
                "regions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/release.RegionName"
                    }
                },
                "risk_level": {
                    "$ref": "#/definitions/release.RiskLevel"
                },
                "rollback_plan": {
                    "type": "string"
                },
                "staging_test_report": {
                    "type": "string"
                },
                "tier": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/release.ChangeTier"
                    }
                },
                "type": {
                    "$ref": "#/definitions/release.ChangeType"
                },
                "window_end_at": {
                    "type": "integer"
                },
                "window_start_at": {
                    "type": "integer"
                }
            }
        },
        "release.UpdateTicketReq": {
            "type": "object",
            "properties": {
                "github_pr_locations": {
                    "description": "ex: tidbcloud/devops#1",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "release.VerifyDeploymentReq": {
            "type": "object",
            "properties": {
                "note": {
                    "type": "string"
                }
            }
        },
        "remediationticket.ApproveTicketPhaseReq": {
            "type": "object",
            "required": [
                "appr_id",
                "version"
            ],
            "properties": {
                "accident_report_link": {
                    "type": "string"
                },
                "accumulated_down_minutes": {
                    "type": "integer"
                },
                "appr_id": {
                    "type": "integer"
                },
                "cluster_billing": {
                    "description": "Patch From Global Deal Desk",
                    "type": "string"
                },
                "extra_percent": {
                    "type": "string"
                },
                "monthly_uptime_percentage": {
                    "type": "string"
                },
                "predefined_percent": {
                    "type": "string"
                },
                "reason": {
                    "description": "Will be deprecated",
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.RemediationTicketReason"
                        }
                    ]
                },
                "report_link": {
                    "type": "string"
                },
                "root_cause_from_gs": {
                    "description": "Patch From Region TSE Leader",
                    "type": "string"
                },
                "root_cause_from_rdg": {
                    "description": "Patch From RDG SLA Owner",
                    "type": "string"
                },
                "total_compensation": {
                    "type": "string"
                },
                "version": {
                    "type": "integer"
                }
            }
        },
        "remediationticket.CreateRemediationTicketReq": {
            "type": "object",
            "required": [
                "cluster_id",
                "cluster_type",
                "incident_id",
                "month",
                "tenant_id"
            ],
            "properties": {
                "biz_region": {
                    "$ref": "#/definitions/tenant.TenantRegion"
                },
                "cluster_id": {
                    "type": "string"
                },
                "cluster_type": {
                    "$ref": "#/definitions/entity.RemediationTicketClusterType"
                },
                "customer": {
                    "type": "string"
                },
                "incident_id": {
                    "type": "integer"
                },
                "month": {
                    "description": "should be in the format \"2006/1\"",
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                }
            }
        },
        "remediationticket.CreateRemediationTicketResp": {
            "type": "object",
            "properties": {
                "ticket_id": {
                    "type": "integer"
                }
            }
        },
        "remediationticket.GenerateFinalDocReq": {
            "type": "object",
            "properties": {
                "forced_regenerate": {
                    "type": "boolean"
                }
            }
        },
        "remediationticket.GetApprovalFlowResp": {
            "type": "object",
            "required": [
                "flow"
            ],
            "properties": {
                "flow": {
                    "$ref": "#/definitions/entity.RemediationApprovalFlow"
                }
            }
        },
        "remediationticket.GetProgressResp": {
            "type": "object",
            "required": [
                "current_phase",
                "phases"
            ],
            "properties": {
                "current_phase": {
                    "$ref": "#/definitions/entity.RemediationTicketPhase"
                },
                "phases": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.RemediationTicketPhaseInfo"
                    }
                }
            }
        },
        "remediationticket.GetRemediationTicketResp": {
            "type": "object",
            "required": [
                "ticket"
            ],
            "properties": {
                "ticket": {
                    "$ref": "#/definitions/entity.RemediationTicket"
                }
            }
        },
        "remediationticket.GetTicketApprovalsResp": {
            "type": "object",
            "required": [
                "phase_approvals"
            ],
            "properties": {
                "phase_approvals": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.RemediationTicketPhaseApproval"
                    }
                }
            }
        },
        "remediationticket.ListRemediationTicketsResp": {
            "type": "object",
            "required": [
                "items",
                "total"
            ],
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.RemediationTicket"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "remediationticket.RejectTicketPhaseReq": {
            "type": "object",
            "required": [
                "appr_id",
                "version"
            ],
            "properties": {
                "appr_id": {
                    "type": "integer"
                },
                "message": {
                    "type": "string"
                },
                "version": {
                    "type": "integer"
                }
            }
        },
        "remediationticket.SubmitTicketPhaseReq": {
            "type": "object",
            "properties": {
                "accident_report_link": {
                    "type": "string"
                },
                "accumulated_down_minutes": {
                    "type": "integer"
                },
                "cluster_billing": {
                    "description": "Patch From Global Deal Desk",
                    "type": "string"
                },
                "extra_percent": {
                    "type": "string"
                },
                "monthly_uptime_percentage": {
                    "type": "string"
                },
                "predefined_percent": {
                    "type": "string"
                },
                "reason": {
                    "description": "Will be deprecated",
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.RemediationTicketReason"
                        }
                    ]
                },
                "report_link": {
                    "type": "string"
                },
                "root_cause_from_gs": {
                    "description": "Patch From Region TSE Leader",
                    "type": "string"
                },
                "root_cause_from_rdg": {
                    "description": "Patch From RDG SLA Owner",
                    "type": "string"
                },
                "total_compensation": {
                    "type": "string"
                },
                "version": {
                    "type": "integer"
                }
            }
        },
        "tenant.AddCreditsInternalReq": {
            "type": "object",
            "required": [
                "expired_date",
                "note",
                "start_date",
                "total_credits",
                "unit_filters",
                "usage"
            ],
            "properties": {
                "discount_enabled": {
                    "type": "boolean"
                },
                "expired_date": {
                    "type": "string"
                },
                "foreign_id": {
                    "type": "string"
                },
                "note": {
                    "type": "string"
                },
                "start_date": {
                    "type": "string"
                },
                "total_credits": {
                    "type": "string"
                },
                "unit_filters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tenant.UnitFilterSlim"
                    }
                },
                "usage": {
                    "type": "string"
                }
            }
        },
        "tenant.AddCreditsReq": {
            "type": "object",
            "properties": {
                "apply_for_test": {
                    "type": "boolean"
                },
                "department": {
                    "type": "string"
                },
                "discount_enabled": {
                    "type": "boolean"
                },
                "expired_date": {
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                },
                "total_credits": {
                    "type": "string"
                },
                "unit_filters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tenant.UnitFilterSlim"
                    }
                },
                "usage": {
                    "type": "string"
                },
                "use_case": {
                    "type": "string"
                }
            }
        },
        "tenant.AddImpersonateReq": {
            "type": "object",
            "required": [
                "expire_at",
                "reason",
                "tenant_id"
            ],
            "properties": {
                "expire_at": {
                    "type": "integer"
                },
                "reason": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "tenant.AddImpersonateResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "description": "the operation instance id",
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "tenant.AddUserToProjectReq": {
            "type": "object",
            "required": [
                "project_id",
                "reason",
                "tenant_id",
                "user_id",
                "user_role"
            ],
            "properties": {
                "project_id": {
                    "type": "string",
                    "example": "0"
                },
                "reason": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string",
                    "example": "0"
                },
                "user_email": {
                    "type": "string"
                },
                "user_id": {
                    "type": "string",
                    "example": "0"
                },
                "user_role": {
                    "type": "string"
                }
            }
        },
        "tenant.AddUserToTenantReq": {
            "type": "object",
            "required": [
                "reason",
                "tenant_id",
                "user_id",
                "user_role"
            ],
            "properties": {
                "reason": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string",
                    "example": "0"
                },
                "user_email": {
                    "type": "string"
                },
                "user_id": {
                    "type": "string",
                    "example": "0"
                },
                "user_role": {
                    "type": "string"
                }
            }
        },
        "tenant.CommonResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "description": "the operation instance id",
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "tenant.ComponentType": {
            "type": "string",
            "enum": [
                "tikv",
                "tidb",
                "tiflash",
                "pd",
                "tiproxy",
                "undefined"
            ],
            "x-enum-varnames": [
                "ComponentTypeTikv",
                "ComponentTypeTidb",
                "ComponentTypeTiflash",
                "ComponentTypePd",
                "ComponentTypeTiproxy",
                "ComponentTypeUndefined"
            ]
        },
        "tenant.CreateReservedCapacityTemplateReq": {
            "type": "object",
            "required": [
                "reason",
                "reserved_capacity_template"
            ],
            "properties": {
                "reason": {
                    "type": "string"
                },
                "reserved_capacity_template": {
                    "$ref": "#/definitions/tenant.ReservedCapacityTemplate"
                }
            }
        },
        "tenant.DeleteAccountUserReq": {
            "type": "object",
            "required": [
                "reason",
                "user_id"
            ],
            "properties": {
                "reason": {
                    "type": "string"
                },
                "user_email": {
                    "type": "string"
                },
                "user_id": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "tenant.DeleteProjectReq": {
            "type": "object",
            "required": [
                "project_id",
                "reason",
                "tenant_id"
            ],
            "properties": {
                "project_id": {
                    "type": "string",
                    "example": "0"
                },
                "reason": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "tenant.DeleteReservedCapacityTemplateReq": {
            "type": "object",
            "required": [
                "reason"
            ],
            "properties": {
                "reason": {
                    "type": "string"
                }
            }
        },
        "tenant.DeleteTenantReq": {
            "type": "object",
            "required": [
                "reason"
            ],
            "properties": {
                "reason": {
                    "type": "string"
                }
            }
        },
        "tenant.GetImpersonateResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "description": "the operation instance id",
                    "type": "integer"
                },
                "tenant_id": {
                    "description": "impersonating tenant id for the user",
                    "type": "string",
                    "example": "0"
                },
                "trace_id": {
                    "type": "string"
                },
                "user": {
                    "type": "string"
                }
            }
        },
        "tenant.GetProjectResp": {
            "type": "object",
            "properties": {
                "project": {
                    "$ref": "#/definitions/accountcli.Project"
                }
            }
        },
        "tenant.GetReservedCapacityTemplateResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "reserved_capacity_template": {
                    "$ref": "#/definitions/tenant.ReservedCapacityTemplate"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "tenant.GetTenantResp": {
            "type": "object",
            "properties": {
                "alias": {
                    "type": "string"
                },
                "country": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "customer_id": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "id": {
                    "type": "string",
                    "example": "0"
                },
                "kind": {
                    "$ref": "#/definitions/tenant.TenantKind"
                },
                "name": {
                    "type": "string"
                },
                "plan": {
                    "$ref": "#/definitions/tenant.TenantPlan"
                },
                "region": {
                    "$ref": "#/definitions/tenant.TenantRegion"
                },
                "sales_owner_email": {
                    "type": "string"
                },
                "segmentation": {
                    "$ref": "#/definitions/tenant.TenantSegmentation"
                },
                "status": {
                    "$ref": "#/definitions/tenant.TenantStatus"
                },
                "tam_name": {
                    "type": "string"
                },
                "time_zone": {
                    "type": "string"
                }
            }
        },
        "tenant.GetUsersResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/accountcli.User"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "tenant.ListByocRegionsResp": {
            "type": "object",
            "properties": {
                "regions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tenant.Region"
                    }
                }
            }
        },
        "tenant.ListReservedCapacityTemplatesResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "reserved_capacity_templates": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tenant.ReservedCapacityTemplate"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "tenant.ListTenantQuotaResp": {
            "type": "object",
            "properties": {
                "tenant_quotas": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tenant.TenantQuota"
                    }
                }
            }
        },
        "tenant.ListTenantResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tenant.TenantResponse"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "tenant.LogLocation": {
            "type": "object",
            "properties": {
                "account_id": {
                    "type": "string"
                },
                "bucket_uri": {
                    "type": "string"
                },
                "external_id": {
                    "type": "string"
                },
                "role_arn": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "tenant.LogRotation": {
            "type": "object",
            "properties": {
                "file_size_limit_in_mb": {
                    "type": "integer"
                },
                "rotation_interval_in_min": {
                    "type": "integer"
                }
            }
        },
        "tenant.OrderType": {
            "type": "string",
            "enum": [
                "asc",
                "desc"
            ],
            "x-enum-varnames": [
                "OrderTypeASC",
                "OrderTypeDESC"
            ]
        },
        "tenant.RecalculateBillsReq": {
            "type": "object",
            "required": [
                "reason"
            ],
            "properties": {
                "credits_discount_enabled": {
                    "type": "boolean"
                },
                "credits_expired_date": {
                    "type": "string"
                },
                "credits_provider": {
                    "type": "string"
                },
                "credits_start_date": {
                    "type": "string"
                },
                "credits_total_credits": {
                    "type": "string"
                },
                "credits_unit_filters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tenant.UnitFilterSlim"
                    }
                },
                "overwrite_current_cost": {
                    "type": "boolean"
                },
                "reason": {
                    "type": "string"
                },
                "source_run_id": {
                    "type": "string"
                }
            }
        },
        "tenant.RecalculateInvoiceReq": {
            "type": "object",
            "required": [
                "reason"
            ],
            "properties": {
                "credits_discount_enabled": {
                    "type": "boolean"
                },
                "credits_expired_date": {
                    "type": "string"
                },
                "credits_provider": {
                    "type": "string"
                },
                "credits_start_date": {
                    "type": "string"
                },
                "credits_total_credits": {
                    "type": "string"
                },
                "credits_unit_filters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tenant.UnitFilterSlim"
                    }
                },
                "reason": {
                    "type": "string"
                }
            }
        },
        "tenant.Region": {
            "type": "object",
            "properties": {
                "cloud_provider": {
                    "type": "string"
                },
                "display_name": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "logical_name": {
                    "type": "string"
                },
                "ops_audit_log_setting": {
                    "$ref": "#/definitions/tenant.RegionOpsAuditLogSetting"
                },
                "service_address": {
                    "type": "string"
                },
                "service_plan": {
                    "type": "string"
                },
                "shared_bucket_url": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                }
            }
        },
        "tenant.RegionOpsAuditLogSetting": {
            "type": "object",
            "properties": {
                "enabled": {
                    "type": "boolean"
                },
                "log_location": {
                    "$ref": "#/definitions/tenant.LogLocation"
                },
                "log_rotation": {
                    "$ref": "#/definitions/tenant.LogRotation"
                }
            }
        },
        "tenant.RemoveUserFromProjectReq": {
            "type": "object",
            "required": [
                "project_id",
                "reason",
                "tenant_id",
                "user_id"
            ],
            "properties": {
                "project_id": {
                    "type": "string",
                    "example": "0"
                },
                "reason": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string",
                    "example": "0"
                },
                "user_email": {
                    "type": "string"
                },
                "user_id": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "tenant.RemoveUserFromTenantReq": {
            "type": "object",
            "required": [
                "reason",
                "tenant_id",
                "user_id"
            ],
            "properties": {
                "reason": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string",
                    "example": "0"
                },
                "user_email": {
                    "type": "string"
                },
                "user_id": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "tenant.ReservedCapacityComponentTopology": {
            "type": "object",
            "properties": {
                "component_type": {
                    "type": "string",
                    "enum": [
                        "TIDB",
                        "TIKV",
                        "PD",
                        "TIPROXY",
                        "TIDB_WORKER",
                        "TIKV_WORKER",
                        "COPROCESSOR_WORKER",
                        "TIFLASH_WRITE",
                        "TIFLASH_COMPUTE",
                        "PD_TSO",
                        "PD_SCHEDULING"
                    ]
                },
                "node_quota": {
                    "$ref": "#/definitions/tenant.ReservedCapacityNodeQuota"
                },
                "storages": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tenant.ReservedCapacityStorageSpec"
                    }
                }
            }
        },
        "tenant.ReservedCapacityFixedTopology": {
            "type": "object",
            "properties": {
                "components": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tenant.ReservedCapacityComponentTopology"
                    }
                }
            }
        },
        "tenant.ReservedCapacityNodeQuota": {
            "type": "object",
            "properties": {
                "node_count": {
                    "type": "integer"
                },
                "node_spec": {
                    "$ref": "#/definitions/tenant.ReservedCapacityNodeSpec"
                }
            }
        },
        "tenant.ReservedCapacityNodeSpec": {
            "type": "object",
            "properties": {
                "cpu": {
                    "type": "integer"
                },
                "memory_gi": {
                    "type": "integer"
                }
            }
        },
        "tenant.ReservedCapacityStorageSpec": {
            "type": "object",
            "properties": {
                "iops": {
                    "type": "integer"
                },
                "name": {
                    "type": "string",
                    "enum": [
                        "DATA",
                        "RAFTLOG",
                        "SLOWLOG"
                    ]
                },
                "size_gi": {
                    "type": "integer"
                },
                "throughput_mbs": {
                    "type": "integer"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "tenant.ReservedCapacityTemplate": {
            "type": "object",
            "properties": {
                "create_time": {
                    "type": "string"
                },
                "delete_time": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "fixed_topology": {
                    "$ref": "#/definitions/tenant.ReservedCapacityFixedTopology"
                },
                "id": {
                    "type": "string",
                    "example": "0"
                },
                "organization_id": {
                    "type": "string",
                    "example": "0"
                },
                "purchased_vcpu": {
                    "type": "integer"
                },
                "scope": {
                    "type": "string",
                    "enum": [
                        "DEFAULT",
                        "ORG_PRIVATE"
                    ]
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "ACTIVE",
                        "DEPRECATED"
                    ]
                },
                "template_code": {
                    "type": "string"
                },
                "topology_summary": {
                    "type": "string"
                },
                "update_time": {
                    "type": "string"
                },
                "workload": {
                    "$ref": "#/definitions/tenant.ReservedCapacityTemplateWorkload"
                }
            }
        },
        "tenant.ReservedCapacityTemplateOperationResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "instance_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "tenant.ReservedCapacityTemplateWorkload": {
            "type": "object",
            "properties": {
                "data_size_gib_max": {
                    "type": "integer"
                },
                "data_size_gib_min": {
                    "type": "integer"
                },
                "p99_response_latency_max": {
                    "type": "integer"
                },
                "p99_response_latency_min": {
                    "type": "integer"
                },
                "qps_max": {
                    "type": "integer"
                },
                "qps_min": {
                    "type": "integer"
                },
                "workload_type": {
                    "type": "string",
                    "enum": [
                        "READ",
                        "WRITE",
                        "MIXED"
                    ]
                }
            }
        },
        "tenant.SortByType": {
            "type": "string",
            "enum": [
                "created_at",
                "timezone"
            ],
            "x-enum-varnames": [
                "SortByTypeCreatedAt",
                "SortByTypeTimezone"
            ]
        },
        "tenant.TenantKind": {
            "type": "string",
            "enum": [
                "internal",
                "external"
            ],
            "x-enum-varnames": [
                "TenantKindInternal",
                "TenantKindExternal"
            ]
        },
        "tenant.TenantPlan": {
            "type": "string",
            "enum": [
                "new_user",
                "free_trial",
                "poc",
                "on_demand"
            ],
            "x-enum-varnames": [
                "TenantPlanNewUser",
                "TenantPlanFreeTrial",
                "TenantPlanPoc",
                "TenantPlanOnDemand"
            ]
        },
        "tenant.TenantQuota": {
            "type": "object",
            "properties": {
                "component": {
                    "$ref": "#/definitions/tenant.ComponentType"
                },
                "quota": {
                    "type": "integer"
                }
            }
        },
        "tenant.TenantRegion": {
            "type": "string",
            "enum": [
                "APAC",
                "EMEA",
                "JAPAN",
                "LATAM",
                "NA",
                "RDG",
                "UNKNOWN",
                "TEST_INFRA"
            ],
            "x-enum-varnames": [
                "TenantRegionAPAC",
                "TenantRegionEMEA",
                "TenantRegionJapan",
                "TenantRegionLATAM",
                "TenantRegionNA",
                "TenantRegionRDG",
                "TenantRegionUnknown",
                "TenantRegionTestInfra"
            ]
        },
        "tenant.TenantResponse": {
            "type": "object",
            "properties": {
                "alias": {
                    "type": "string"
                },
                "country": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "customer_id": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "id": {
                    "type": "string",
                    "example": "0"
                },
                "kind": {
                    "$ref": "#/definitions/tenant.TenantKind"
                },
                "name": {
                    "type": "string"
                },
                "plan": {
                    "$ref": "#/definitions/tenant.TenantPlan"
                },
                "region": {
                    "$ref": "#/definitions/tenant.TenantRegion"
                },
                "sales_owner_email": {
                    "type": "string"
                },
                "segmentation": {
                    "$ref": "#/definitions/tenant.TenantSegmentation"
                },
                "status": {
                    "$ref": "#/definitions/tenant.TenantStatus"
                },
                "tam_name": {
                    "type": "string"
                },
                "time_zone": {
                    "type": "string"
                }
            }
        },
        "tenant.TenantSegmentation": {
            "type": "string",
            "enum": [
                "SKA",
                "KA",
                "SMB",
                "UNKNOWN"
            ],
            "x-enum-varnames": [
                "TenantSegmentationSKA",
                "TenantSegmentationKA",
                "TenantSegmentationSMB",
                "TenantSegmentationUnknown"
            ]
        },
        "tenant.TenantStatus": {
            "type": "string",
            "enum": [
                "pending",
                "active",
                "inactive",
                "deleted",
                "cleared"
            ],
            "x-enum-varnames": [
                "TenantStatusPending",
                "TenantStatusActive",
                "TenantStatusInactive",
                "TenantStatusDeleted",
                "TenantStatusCleared"
            ]
        },
        "tenant.UnitFilterSlim": {
            "type": "object",
            "properties": {
                "filter_id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "type_id": {
                    "type": "integer"
                }
            }
        },
        "tenant.UpdateRegionOpsAuditLogSettingReq": {
            "type": "object",
            "required": [
                "enabled",
                "reason",
                "region_logical_name"
            ],
            "properties": {
                "enabled": {
                    "type": "boolean"
                },
                "log_location": {
                    "$ref": "#/definitions/tenant.LogLocation"
                },
                "log_rotation": {
                    "$ref": "#/definitions/tenant.LogRotation"
                },
                "reason": {
                    "type": "string"
                },
                "region_logical_name": {
                    "type": "string"
                }
            }
        },
        "tenant.UpdateReservedCapacityTemplateStatusReq": {
            "type": "object",
            "required": [
                "reason",
                "status"
            ],
            "properties": {
                "reason": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "ACTIVE",
                        "DEPRECATED"
                    ]
                }
            }
        },
        "tenant.UpdateTenantReq": {
            "type": "object",
            "required": [
                "reason",
                "tenant_id"
            ],
            "properties": {
                "reason": {
                    "type": "string"
                },
                "tenant_email": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string",
                    "example": "0"
                },
                "tenant_status": {
                    "type": "string"
                },
                "tenant_type": {
                    "type": "string"
                }
            }
        },
        "tidbtools.BackupExport": {
            "type": "object",
            "properties": {
                "backup_at": {
                    "type": "integer"
                },
                "backup_id": {
                    "type": "string"
                },
                "backup_name": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "error_msg": {
                    "type": "string"
                },
                "finished_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "provider": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "status": {
                    "enum": [
                        "pending",
                        "running",
                        "succeeded",
                        "failed",
                        "canceled",
                        "unknown"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.BackupExportStatus"
                        }
                    ]
                },
                "status_msg": {
                    "type": "string"
                },
                "storage_type": {
                    "type": "string",
                    "enum": [
                        "s3",
                        "gcs",
                        "azblob",
                        "oss"
                    ]
                },
                "storage_uri": {
                    "type": "string"
                }
            }
        },
        "tidbtools.BackupExportStatus": {
            "type": "string",
            "enum": [
                "pending",
                "running",
                "succeeded",
                "failed",
                "canceled",
                "unknown"
            ],
            "x-enum-varnames": [
                "BackupExportStatusPending",
                "BackupExportStatusRunning",
                "BackupExportStatusSucceeded",
                "BackupExportStatusFailed",
                "BackupExportStatusCanceled",
                "BackupExportStatusUnknown"
            ]
        },
        "tidbtools.BackupScheduledStatus": {
            "type": "string",
            "enum": [
                "enabled",
                "paused",
                "disabled"
            ],
            "x-enum-varnames": [
                "BackupScheduledStatusEnabled",
                "BackupScheduledStatusPaused",
                "BackupScheduledStatusDisabled"
            ]
        },
        "tidbtools.BackupStatus": {
            "type": "string",
            "enum": [
                "running",
                "succeeded",
                "failed",
                "canceled",
                "pending"
            ],
            "x-enum-varnames": [
                "BackupStatusRunning",
                "BackupStatusSucceeded",
                "BackupStatusFailed",
                "BackupStatusCanceled",
                "BackupStatusPending"
            ]
        },
        "tidbtools.ChangefeedStatus": {
            "type": "string",
            "enum": [
                "normal",
                "warning",
                "error",
                "failed",
                "creating",
                "starting",
                "stopping",
                "stopped",
                "scaling",
                "editing",
                "deleting",
                "deleted",
                "finished"
            ],
            "x-enum-varnames": [
                "ChangefeedStatusNormal",
                "ChangefeedStatusWarning",
                "ChangefeedStatusError",
                "ChangefeedStatusFailed",
                "ChangefeedStatusCreating",
                "ChangefeedStatusStarting",
                "ChangefeedStatusStopping",
                "ChangefeedStatusStopped",
                "ChangefeedStatusScaling",
                "ChangefeedStatusEditing",
                "ChangefeedStatusDeleting",
                "ChangefeedStatusDeleted",
                "ChangefeedStatusFinished"
            ]
        },
        "tidbtools.ChangefeedSummary": {
            "type": "object",
            "properties": {
                "display_name": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "status": {
                    "enum": [
                        "creating",
                        "normal",
                        "starting",
                        "stopping",
                        "stopped",
                        "scaling",
                        "editing",
                        "warning",
                        "error",
                        "failed",
                        "deleting",
                        "deleted",
                        "finished"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.ChangefeedStatus"
                        }
                    ]
                }
            }
        },
        "tidbtools.DMJob": {
            "type": "object",
            "properties": {
                "conn_method": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "error_msg": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "mode": {
                    "enum": [
                        "full",
                        "incremental",
                        "all"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.DMJobMode"
                        }
                    ]
                },
                "name": {
                    "type": "string"
                },
                "source_type": {
                    "type": "string"
                },
                "status": {
                    "enum": [
                        "running",
                        "paused",
                        "finished",
                        "failed",
                        "stopped",
                        "unknown"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.DMJobStatus"
                        }
                    ]
                },
                "target_cluster": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.DMJobDetail": {
            "type": "object",
            "properties": {
                "conn_method": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "error_msg": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "mode": {
                    "enum": [
                        "full",
                        "incremental",
                        "all"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.DMJobMode"
                        }
                    ]
                },
                "name": {
                    "type": "string"
                },
                "source_type": {
                    "type": "string"
                },
                "status": {
                    "enum": [
                        "running",
                        "paused",
                        "finished",
                        "failed",
                        "stopped",
                        "unknown"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.DMJobStatus"
                        }
                    ]
                },
                "sub_tasks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tidbtools.DMSubTask"
                    }
                },
                "target_cluster": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.DMJobMode": {
            "type": "string",
            "enum": [
                "full",
                "incremental",
                "all"
            ],
            "x-enum-varnames": [
                "DMJobModeFull",
                "DMJobModeIncremental",
                "DMJobModeAll"
            ]
        },
        "tidbtools.DMJobStatus": {
            "type": "string",
            "enum": [
                "running",
                "paused",
                "finished",
                "failed",
                "stopped",
                "unknown"
            ],
            "x-enum-varnames": [
                "DMJobStatusRunning",
                "DMJobStatusPaused",
                "DMJobStatusFinished",
                "DMJobStatusFailed",
                "DMJobStatusStopped",
                "DMJobStatusUnknown"
            ]
        },
        "tidbtools.DMOverview": {
            "type": "object",
            "properties": {
                "version": {
                    "type": "string"
                },
                "version_source": {
                    "type": "string"
                }
            }
        },
        "tidbtools.DMPrecheck": {
            "type": "object",
            "properties": {
                "dm_job_name": {
                    "type": "string"
                },
                "errmsg": {
                    "type": "string"
                },
                "finished": {
                    "type": "integer"
                },
                "finished_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "started_at": {
                    "type": "integer"
                },
                "status": {
                    "enum": [
                        "passed",
                        "failed",
                        "warning",
                        "running"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.DMPrecheckStatus"
                        }
                    ]
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.DMPrecheckDetail": {
            "type": "object",
            "properties": {
                "dm_job_name": {
                    "type": "string"
                },
                "errmsg": {
                    "type": "string"
                },
                "finished": {
                    "type": "integer"
                },
                "finished_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tidbtools.DMPrecheckItem"
                    }
                },
                "started_at": {
                    "type": "integer"
                },
                "status": {
                    "enum": [
                        "passed",
                        "failed",
                        "warning",
                        "running"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.DMPrecheckStatus"
                        }
                    ]
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.DMPrecheckItem": {
            "type": "object",
            "properties": {
                "errmsg": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "result": {
                    "type": "string"
                },
                "status": {
                    "enum": [
                        "passed",
                        "failed",
                        "warning",
                        "running"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.DMPrecheckStatus"
                        }
                    ]
                }
            }
        },
        "tidbtools.DMPrecheckStatus": {
            "type": "string",
            "enum": [
                "passed",
                "failed",
                "warning",
                "running"
            ],
            "x-enum-varnames": [
                "DMPrecheckStatusPassed",
                "DMPrecheckStatusFailed",
                "DMPrecheckStatusWarning",
                "DMPrecheckStatusRunning"
            ]
        },
        "tidbtools.DMSubTask": {
            "type": "object",
            "properties": {
                "binlog_position": {
                    "type": "string"
                },
                "binlog_ts": {
                    "type": "integer"
                },
                "mode": {
                    "enum": [
                        "full",
                        "incremental",
                        "all"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.DMJobMode"
                        }
                    ]
                },
                "name": {
                    "type": "string"
                },
                "progress_percent": {
                    "type": "integer"
                },
                "rows_per_sec": {
                    "type": "integer"
                },
                "status": {
                    "enum": [
                        "running",
                        "paused",
                        "finished",
                        "failed",
                        "stopped",
                        "unknown"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.DMJobStatus"
                        }
                    ]
                }
            }
        },
        "tidbtools.DedicatedBackupSetting": {
            "type": "object",
            "properties": {
                "current_actions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "dual_region_enabled": {
                    "type": "boolean"
                },
                "dual_regions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "encryption_enabled": {
                    "type": "boolean"
                },
                "log_backup_enabled": {
                    "type": "boolean"
                },
                "next_run_at": {
                    "type": "integer"
                },
                "retention_days": {
                    "type": "integer"
                },
                "schedule": {
                    "type": "string"
                },
                "scheduled_status": {
                    "enum": [
                        "enabled",
                        "paused",
                        "disabled"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.BackupScheduledStatus"
                        }
                    ]
                }
            }
        },
        "tidbtools.DedicatedImport": {
            "type": "object",
            "properties": {
                "completed_percent": {
                    "type": "integer"
                },
                "completed_tables": {
                    "type": "integer"
                },
                "conn_method": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "error_msg": {
                    "type": "string"
                },
                "file_type": {
                    "enum": [
                        "CSV",
                        "SQL",
                        "PARQUET"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.ImportFileType"
                        }
                    ]
                },
                "filter": {
                    "type": "string"
                },
                "finished_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "imported_rows": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "pending_tables": {
                    "type": "integer"
                },
                "post_import_completed_percent": {
                    "type": "integer"
                },
                "size_bytes": {
                    "type": "integer"
                },
                "source_type": {
                    "enum": [
                        "LOCAL_FILE",
                        "S3",
                        "GCS"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.ImportSourceType"
                        }
                    ]
                },
                "status": {
                    "enum": [
                        "pending",
                        "preparing",
                        "running",
                        "succeeded",
                        "failed",
                        "canceled"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.ImportStatus"
                        }
                    ]
                },
                "target_database": {
                    "type": "string"
                },
                "target_table": {
                    "type": "string"
                },
                "total_rows": {
                    "type": "integer"
                },
                "total_tables_count": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.Export": {
            "type": "object",
            "properties": {
                "compression": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "created_by": {
                    "type": "string"
                },
                "csv_delimiter": {
                    "type": "string"
                },
                "csv_null_value": {
                    "type": "string"
                },
                "csv_separator": {
                    "type": "string"
                },
                "csv_skip_header": {
                    "type": "boolean"
                },
                "error_msg": {
                    "type": "string"
                },
                "file_type": {
                    "type": "string"
                },
                "filter_type": {
                    "type": "string"
                },
                "finished_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "snapshot_at": {
                    "type": "integer"
                },
                "snapshot_tso": {
                    "type": "string"
                },
                "source_cluster_id": {
                    "type": "string"
                },
                "status": {
                    "enum": [
                        "pending",
                        "running",
                        "succeeded",
                        "failed",
                        "canceled",
                        "unknown"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.ExportStatus"
                        }
                    ]
                },
                "status_msg": {
                    "type": "string"
                },
                "storage_auth_type": {
                    "type": "string"
                },
                "storage_type": {
                    "type": "string",
                    "enum": [
                        "s3",
                        "gcs",
                        "azblob",
                        "oss"
                    ]
                },
                "storage_uri": {
                    "type": "string"
                },
                "table_patterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "updated_at": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.ExportStatus": {
            "type": "string",
            "enum": [
                "pending",
                "running",
                "succeeded",
                "failed",
                "canceled",
                "unknown"
            ],
            "x-enum-varnames": [
                "ExportStatusPending",
                "ExportStatusRunning",
                "ExportStatusSucceeded",
                "ExportStatusFailed",
                "ExportStatusCanceled",
                "ExportStatusUnknown"
            ]
        },
        "tidbtools.GetImportIntoTaskResp": {
            "type": "object",
            "properties": {
                "completed_percent": {
                    "type": "integer"
                },
                "completed_tables": {
                    "type": "integer"
                },
                "conn_method": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "error_msg": {
                    "type": "string"
                },
                "finished_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "pending_tables": {
                    "type": "integer"
                },
                "post_import_completed_percent": {
                    "type": "integer"
                },
                "progress_percent": {
                    "type": "integer"
                },
                "source_uri": {
                    "type": "string"
                },
                "sql_statement": {
                    "type": "string"
                },
                "status": {
                    "enum": [
                        "pending",
                        "preparing",
                        "running",
                        "succeeded",
                        "failed",
                        "canceled"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.ImportStatus"
                        }
                    ]
                },
                "total_tables_count": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.GetOverviewResp": {
            "type": "object",
            "properties": {
                "backup_exports": {
                    "$ref": "#/definitions/tidbtools.ListBackupExportsResp"
                },
                "backups": {
                    "$ref": "#/definitions/tidbtools.ListBackupsResp"
                },
                "changefeeds": {
                    "$ref": "#/definitions/tidbtools.ListChangefeedsOverviewResp"
                },
                "dm_jobs": {
                    "$ref": "#/definitions/tidbtools.ListDMJobsResp"
                },
                "dm_overview": {
                    "$ref": "#/definitions/tidbtools.DMOverview"
                },
                "exports": {
                    "$ref": "#/definitions/tidbtools.ListExportsResp"
                },
                "import_into_tasks": {
                    "$ref": "#/definitions/tidbtools.ListImportIntoTasksResp"
                },
                "imports": {
                    "$ref": "#/definitions/tidbtools.ListImportsResp"
                },
                "log_backups": {
                    "$ref": "#/definitions/tidbtools.ListLogBackupsResp"
                },
                "restores": {
                    "$ref": "#/definitions/tidbtools.ListRestoresResp"
                },
                "warnings": {
                    "description": "Warnings collects non-fatal errors from individual fan-out calls,\nso the overview never fails entirely because one tool is down.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "tidbtools.ImportFileType": {
            "type": "string",
            "enum": [
                "CSV",
                "SQL",
                "PARQUET"
            ],
            "x-enum-varnames": [
                "ImportFileTypeCSV",
                "ImportFileTypeSQL",
                "ImportFileTypeParquet"
            ]
        },
        "tidbtools.ImportSourceType": {
            "type": "string",
            "enum": [
                "LOCAL_FILE",
                "S3",
                "GCS"
            ],
            "x-enum-varnames": [
                "ImportSourceTypeLocalFile",
                "ImportSourceTypeS3",
                "ImportSourceTypeGCS"
            ]
        },
        "tidbtools.ImportStatus": {
            "type": "string",
            "enum": [
                "pending",
                "preparing",
                "running",
                "succeeded",
                "failed",
                "canceled"
            ],
            "x-enum-varnames": [
                "ImportStatusPending",
                "ImportStatusPreparing",
                "ImportStatusRunning",
                "ImportStatusSucceeded",
                "ImportStatusFailed",
                "ImportStatusCanceled"
            ]
        },
        "tidbtools.ListBackupExportsResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tidbtools.BackupExport"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.ListBackupsResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tidbtools.SnapshotBackup"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.ListChangefeedsOverviewResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tidbtools.ChangefeedSummary"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.ListChangefeedsResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tidbtools.ChangefeedSummary"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.ListDMJobsResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tidbtools.DMJob"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.ListDMPrechecksResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tidbtools.DMPrecheck"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.ListExportsResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tidbtools.Export"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.ListImportIntoTasksResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tidbtools.PremiumImportIntoTask"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.ListImportsResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tidbtools.DedicatedImport"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.ListLogBackupsResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tidbtools.LogBackup"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.ListRestoresResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tidbtools.Restore"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.LogBackup": {
            "type": "object",
            "properties": {
                "checkpoint_timestamp": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "integer"
                },
                "error_msg": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "regions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "size_bytes": {
                    "type": "integer"
                },
                "started_at": {
                    "type": "integer"
                },
                "status": {
                    "enum": [
                        "pending",
                        "running",
                        "stopping",
                        "stopped",
                        "pausing",
                        "paused",
                        "resuming",
                        "failed",
                        "scheduled"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.LogBackupStatus"
                        }
                    ]
                },
                "storage_uri": {
                    "type": "string"
                },
                "truncate_until": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.LogBackupStatus": {
            "type": "string",
            "enum": [
                "pending",
                "running",
                "stopping",
                "stopped",
                "pausing",
                "paused",
                "resuming",
                "failed",
                "scheduled"
            ],
            "x-enum-varnames": [
                "LogBackupStatusPending",
                "LogBackupStatusRunning",
                "LogBackupStatusStopping",
                "LogBackupStatusStopped",
                "LogBackupStatusPausing",
                "LogBackupStatusPaused",
                "LogBackupStatusResuming",
                "LogBackupStatusFailed",
                "LogBackupStatusScheduled"
            ]
        },
        "tidbtools.NextGenBackupPolicy": {
            "type": "object",
            "properties": {
                "daily_retention_days": {
                    "type": "integer"
                },
                "daily_start_time_utc": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "hourly_retention_days": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "pitr_retention_days": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.NextGenBackupSetting": {
            "type": "object",
            "properties": {
                "backup_policies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tidbtools.NextGenBackupPolicy"
                    }
                },
                "daily_backup_time_utc": {
                    "type": "string"
                },
                "last_modify_time": {
                    "type": "integer"
                },
                "mode": {
                    "type": "string",
                    "enum": [
                        "standard_bundle",
                        "flexible_retention"
                    ]
                },
                "pitr_end_time": {
                    "type": "integer"
                },
                "pitr_start_time": {
                    "type": "integer"
                },
                "retention_days": {
                    "type": "integer"
                },
                "unavailable": {
                    "description": "Unavailable is true while a Premium or Essential v2 restore has not\ncreated the target instance's backup-setting record yet.",
                    "type": "boolean"
                }
            }
        },
        "tidbtools.PremiumImportIntoTask": {
            "type": "object",
            "properties": {
                "completed_percent": {
                    "type": "integer"
                },
                "completed_tables": {
                    "type": "integer"
                },
                "conn_method": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "error_msg": {
                    "type": "string"
                },
                "finished_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "pending_tables": {
                    "type": "integer"
                },
                "post_import_completed_percent": {
                    "type": "integer"
                },
                "progress_percent": {
                    "type": "integer"
                },
                "source_uri": {
                    "type": "string"
                },
                "sql_statement": {
                    "type": "string"
                },
                "status": {
                    "enum": [
                        "pending",
                        "preparing",
                        "running",
                        "succeeded",
                        "failed",
                        "canceled"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.ImportStatus"
                        }
                    ]
                },
                "total_tables_count": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.Restore": {
            "type": "object",
            "properties": {
                "backup_id": {
                    "type": "string"
                },
                "error_msg": {
                    "type": "string"
                },
                "finished_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "log_backup_id": {
                    "type": "string"
                },
                "mode": {
                    "enum": [
                        "snapshot",
                        "pitr"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.RestoreMode"
                        }
                    ]
                },
                "name": {
                    "type": "string"
                },
                "progress_percent": {
                    "type": "integer"
                },
                "restore_region": {
                    "type": "string"
                },
                "restored_at": {
                    "type": "integer"
                },
                "restored_ts": {
                    "type": "string"
                },
                "source_backup_name": {
                    "type": "string"
                },
                "started_at": {
                    "type": "integer"
                },
                "status": {
                    "enum": [
                        "pending",
                        "running",
                        "succeeded",
                        "failed",
                        "canceled",
                        "unknown"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.RestoreStatus"
                        }
                    ]
                },
                "target_cluster_id": {
                    "type": "string"
                }
            }
        },
        "tidbtools.RestoreAuditInfo": {
            "type": "object",
            "properties": {
                "event_at": {
                    "type": "integer"
                },
                "point_in_time": {
                    "type": "integer"
                },
                "restore_mode": {
                    "type": "string"
                }
            }
        },
        "tidbtools.RestoreBackupInfo": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "integer"
                },
                "finished_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "size_bytes": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                },
                "tso": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "tidbtools.RestoreClusterInfo": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "tidbtools.RestoreDetail": {
            "type": "object",
            "properties": {
                "backup_id": {
                    "type": "string"
                },
                "cluster": {
                    "$ref": "#/definitions/tidbtools.RestoreClusterInfo"
                },
                "cluster_id": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "status": {
                    "enum": [
                        "pending",
                        "running",
                        "succeeded",
                        "failed",
                        "terminated",
                        "canceled",
                        "unknown"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.RestoreStatus"
                        }
                    ]
                }
            }
        },
        "tidbtools.RestoreErrorDetail": {
            "type": "object",
            "properties": {
                "message": {
                    "type": "string"
                },
                "retryable": {
                    "type": "boolean"
                }
            }
        },
        "tidbtools.RestoreMode": {
            "type": "string",
            "enum": [
                "snapshot",
                "pitr"
            ],
            "x-enum-varnames": [
                "RestoreModeSnapshot",
                "RestoreModePITR"
            ]
        },
        "tidbtools.RestoreProgress": {
            "type": "object",
            "properties": {
                "audit": {
                    "$ref": "#/definitions/tidbtools.RestoreAuditInfo"
                },
                "backup": {
                    "$ref": "#/definitions/tidbtools.RestoreBackupInfo"
                },
                "data_restore_duration_seconds": {
                    "type": "integer"
                },
                "data_restore_step": {
                    "type": "string"
                },
                "duration_seconds": {
                    "type": "integer"
                },
                "error": {
                    "$ref": "#/definitions/tidbtools.RestoreErrorDetail"
                },
                "eta_seconds": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "not_found": {
                    "description": "NotFound is true when no active restore record exists for the cluster.\nThe HTTP status is still 200; callers should treat this as an empty state.",
                    "type": "boolean"
                },
                "progress_percent": {
                    "type": "integer"
                },
                "rate_bytes_per_sec": {
                    "type": "integer"
                },
                "restore_bytes": {
                    "type": "integer"
                },
                "restore_finished_at": {
                    "type": "integer"
                },
                "restore_started_at": {
                    "type": "integer"
                },
                "runtime_diagnostic": {
                    "type": "string"
                },
                "source": {
                    "$ref": "#/definitions/tidbtools.RestoreSourceInfo"
                },
                "source_cluster_id": {
                    "type": "string"
                },
                "source_metadata_available": {
                    "type": "boolean"
                },
                "source_metadata_note": {
                    "type": "string"
                },
                "status": {
                    "description": "Stage is the human-readable current step name or overall status string.\nJSON field is \"status\" to match the FE RestoreProgress.status field.",
                    "type": "string"
                },
                "steps": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tidbtools.RestoreStepProgress"
                    }
                },
                "target": {
                    "$ref": "#/definitions/tidbtools.RestoreTargetInfo"
                },
                "updated_at": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.RestoreSourceInfo": {
            "type": "object",
            "properties": {
                "cloud_provider": {
                    "type": "string"
                },
                "expected_restore_data_bytes": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "service_plan": {
                    "type": "string"
                }
            }
        },
        "tidbtools.RestoreStatus": {
            "type": "string",
            "enum": [
                "pending",
                "running",
                "succeeded",
                "failed",
                "canceled",
                "terminated",
                "unknown"
            ],
            "x-enum-varnames": [
                "RestoreStatusPending",
                "RestoreStatusRunning",
                "RestoreStatusSucceeded",
                "RestoreStatusFailed",
                "RestoreStatusCanceled",
                "RestoreStatusTerminated",
                "RestoreStatusUnknown"
            ]
        },
        "tidbtools.RestoreStepProgress": {
            "type": "object",
            "properties": {
                "progress": {
                    "type": "number"
                },
                "step_name": {
                    "type": "string"
                }
            }
        },
        "tidbtools.RestoreTargetInfo": {
            "type": "object",
            "properties": {
                "cloud_provider": {
                    "type": "string"
                },
                "create_ready_at": {
                    "type": "integer"
                },
                "create_started_at": {
                    "type": "integer"
                },
                "creator": {
                    "type": "string"
                },
                "dataplane_id": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "organization_id": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "region_display": {
                    "type": "string"
                },
                "service_plan": {
                    "type": "string"
                },
                "shared_pool_id": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "tidb_version": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "integer"
                }
            }
        },
        "tidbtools.SnapshotBackup": {
            "type": "object",
            "properties": {
                "cluster_version": {
                    "type": "string"
                },
                "error_msg": {
                    "type": "string"
                },
                "expire_at": {
                    "type": "integer"
                },
                "finished_at": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "protected": {
                    "type": "boolean"
                },
                "regions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "size_bytes": {
                    "type": "integer"
                },
                "started_at": {
                    "type": "integer"
                },
                "status": {
                    "enum": [
                        "running",
                        "succeeded",
                        "failed",
                        "canceled",
                        "pending"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.BackupStatus"
                        }
                    ]
                },
                "storage_uri": {
                    "type": "string"
                },
                "tso": {
                    "type": "string"
                },
                "type": {
                    "enum": [
                        "Manual",
                        "Auto"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/tidbtools.SnapshotBackupType"
                        }
                    ]
                }
            }
        },
        "tidbtools.SnapshotBackupType": {
            "type": "string",
            "enum": [
                "Manual",
                "Auto"
            ],
            "x-enum-varnames": [
                "SnapshotBackupTypeManual",
                "SnapshotBackupTypeAuto"
            ]
        },
        "timestamppb.Timestamp": {
            "type": "object",
            "properties": {
                "nanos": {
                    "description": "Non-negative fractions of a second at nanosecond resolution. This field is\nthe nanosecond portion of the duration, not an alternative to seconds.\nNegative second values with fractions must still have non-negative nanos\nvalues that count forward in time. Must be between 0 and 999,999,999\ninclusive.",
                    "type": "integer"
                },
                "seconds": {
                    "description": "Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must\nbe between -315576000000 and 315576000000 inclusive (which corresponds to\n0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z).",
                    "type": "integer"
                }
            }
        },
        "userbehavior.AddExternalLarkChatReq": {
            "type": "object",
            "required": [
                "chat_url",
                "name"
            ],
            "properties": {
                "avatar": {
                    "type": "string"
                },
                "chat_url": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "userbehavior.CreateSubscriptionReq": {
            "type": "object",
            "properties": {
                "detail_link": {
                    "type": "string"
                },
                "event_type": {
                    "$ref": "#/definitions/userbehavior.UBEventTp"
                },
                "lark_chats": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.LarkChatSimplified"
                    }
                },
                "name": {
                    "type": "string"
                },
                "selector": {
                    "$ref": "#/definitions/userbehavior.SelectorTp"
                },
                "subscribe_type": {
                    "$ref": "#/definitions/userbehavior.SubscribeTp"
                },
                "template": {
                    "type": "string"
                }
            }
        },
        "userbehavior.CreateSubscriptionResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "subscription_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "userbehavior.EditSubscriptionReq": {
            "type": "object",
            "properties": {
                "event_type": {
                    "$ref": "#/definitions/userbehavior.UBEventTp"
                },
                "lark_chats": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.LarkChatSimplified"
                    }
                },
                "name": {
                    "type": "string"
                },
                "selector": {
                    "$ref": "#/definitions/userbehavior.SelectorTp"
                },
                "subscribe_type": {
                    "$ref": "#/definitions/userbehavior.SubscribeTp"
                },
                "template": {
                    "type": "string"
                }
            }
        },
        "userbehavior.EditSubscriptionResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "subscription_id": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "userbehavior.GetSubscriptionResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "subscription": {
                    "$ref": "#/definitions/userbehavior.Subscription"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "userbehavior.ListLarkChatOptionsResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.LarkChatSimplified"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "userbehavior.ListSubscriptionsResp": {
            "type": "object",
            "properties": {
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/userbehavior.Subscription"
                    }
                },
                "total": {
                    "type": "integer"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "userbehavior.RegionSelectorTp": {
            "type": "string",
            "enum": [
                "na",
                "apac",
                "emea",
                "jp"
            ],
            "x-enum-varnames": [
                "RegionSelectorNA",
                "RegionSelectorAPAC",
                "RegionSelectorEMEA",
                "RegionSelectorJP"
            ]
        },
        "userbehavior.SelectorTp": {
            "type": "object",
            "properties": {
                "region_selectors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/userbehavior.RegionSelectorTp"
                    }
                },
                "tenant_selectors": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "userbehavior.SubscribeTp": {
            "type": "string",
            "enum": [
                "by_chat"
            ],
            "x-enum-varnames": [
                "SubscribeByChat"
            ]
        },
        "userbehavior.Subscription": {
            "type": "object",
            "required": [
                "id"
            ],
            "properties": {
                "available": {
                    "type": "boolean"
                },
                "creator": {
                    "description": "Creator email",
                    "type": "string"
                },
                "detail_link": {
                    "type": "string"
                },
                "event_type": {
                    "$ref": "#/definitions/userbehavior.UBEventTp"
                },
                "id": {
                    "type": "integer"
                },
                "lark_chats": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.LarkChatSimplified"
                    }
                },
                "name": {
                    "type": "string"
                },
                "only_dedicated_cluster": {
                    "type": "boolean"
                },
                "only_external_tenant": {
                    "type": "boolean"
                },
                "only_paid_tenant": {
                    "type": "boolean"
                },
                "selector": {
                    "$ref": "#/definitions/userbehavior.SelectorTp"
                },
                "subscribe_type": {
                    "$ref": "#/definitions/userbehavior.SubscribeTp"
                },
                "template": {
                    "type": "string"
                },
                "text_filter": {
                    "type": "string"
                }
            }
        },
        "userbehavior.SuppressGTMEmailReq": {
            "type": "object",
            "required": [
                "campaign_name",
                "reason",
                "source",
                "tenant_id"
            ],
            "properties": {
                "campaign_name": {
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "integer"
                }
            }
        },
        "userbehavior.SuppressGTMEmailResp": {
            "type": "object",
            "properties": {
                "cancelled_count": {
                    "type": "integer"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "userbehavior.UBEventTp": {
            "type": "string",
            "enum": [
                "tenant",
                "cluster",
                "import",
                "backup",
                "restore",
                "cdc",
                "dmjob",
                "startup"
            ],
            "x-enum-comments": {
                "UBEventStartup": "monitor new startup company tenants",
                "UBEventTenant": "tenant creation, deletion and plan change"
            },
            "x-enum-varnames": [
                "UBEventTenant",
                "UBEventCluster",
                "UBEventImport",
                "UBEventBackup",
                "UBEventRestore",
                "UBEventCDC",
                "UBEventDMJob",
                "UBEventStartup"
            ]
        },
        "userv1.LarkType": {
            "type": "integer",
            "enum": [
                0,
                1
            ],
            "x-enum-varnames": [
                "LarkType_LARK_TYPE_UNSPECIFIED",
                "LarkType_LARK_TYPE_GLOBAL"
            ]
        },
        "userv1.User": {
            "type": "object",
            "properties": {
                "available": {
                    "type": "boolean"
                },
                "deleted_at": {
                    "type": "integer"
                },
                "email": {
                    "type": "string"
                },
                "github_id": {
                    "type": "string"
                },
                "lark_department_id": {
                    "type": "string"
                },
                "lark_department_name": {
                    "type": "string"
                },
                "lark_type": {
                    "$ref": "#/definitions/userv1.LarkType"
                },
                "lark_user_en_name": {
                    "type": "string"
                },
                "lark_user_id": {
                    "type": "string"
                },
                "lark_user_name": {
                    "type": "string"
                },
                "lark_user_nick_name": {
                    "type": "string"
                },
                "lark_user_open_id": {
                    "type": "string"
                },
                "name_search_abbr": {
                    "type": "string"
                },
                "name_search_text": {
                    "type": "string"
                },
                "soc2_compliant": {
                    "type": "boolean"
                }
            }
        },
        "webhook.JiraBindLarkGroupWhenEscalationRequest": {
            "type": "object",
            "required": [
                "issue_id",
                "issue_key",
                "outward_issue_id",
                "outward_issue_key"
            ],
            "properties": {
                "issue_id": {
                    "description": "The ID of the Jira issue",
                    "type": "string"
                },
                "issue_key": {
                    "description": "The key of the Jira issue",
                    "type": "string"
                },
                "outward_issue_id": {
                    "description": "The ID of the outward issue to bind",
                    "type": "string"
                },
                "outward_issue_key": {
                    "description": "The key of the outward issue to bind",
                    "type": "string"
                }
            }
        },
        "webhook.JiraCreateLarkGroupForS1TicketsRequest": {
            "type": "object",
            "required": [
                "issue_key"
            ],
            "properties": {
                "issue_key": {
                    "description": "The key of the Jira issue",
                    "type": "string"
                }
            }
        },
        "webhook.JiraCreateLarkGroupForS1TicketsResponse": {
            "type": "object",
            "properties": {
                "detail": {
                    "description": "The detail message",
                    "type": "string"
                },
                "errcode": {
                    "$ref": "#/definitions/api.ErrCode"
                },
                "errmsg": {
                    "type": "string"
                },
                "group_id": {
                    "description": "The ID of the created lark group",
                    "type": "string"
                },
                "trace_id": {
                    "type": "string"
                }
            }
        },
        "webhook.JiraInviteAssigneeToLarkGroupRequest": {
            "type": "object",
            "required": [
                "assignee_email",
                "issue_id",
                "issue_key"
            ],
            "properties": {
                "assignee_email": {
                    "description": "The email of the assignee to invite",
                    "type": "string"
                },
                "issue_id": {
                    "description": "The ID of the Jira issue",
                    "type": "string"
                },
                "issue_key": {
                    "description": "The key of the Jira issue",
                    "type": "string"
                }
            }
        }
    }
}