{ "swagger": "2.0", "info": { "description": "自托管 OCI 多租户管理面板 API。业务接口用 JWT(Bearer);AI 网关端点(/ai/v1/*)用独立网关密钥(Authorization: Bearer 或 x-api-key)。", "title": "OCI Portal API", "contact": {}, "version": "0.0.1" }, "basePath": "/", "paths": { "/ai/v1/chat/completions": { "post": { "tags": [ "AI 网关" ], "summary": "OpenAI Chat Completions 兼容端点", "parameters": [ { "description": "OpenAI chat/completions 请求体(支持 stream;经 Responses 转换直通)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "OpenAI 兼容响应(流式为 SSE,末尾 data: [DONE])", "schema": { "type": "object", "additionalProperties": true } } } } }, "/ai/v1/embeddings": { "post": { "tags": [ "AI 网关" ], "summary": "OpenAI 兼容向量嵌入", "parameters": [ { "description": "OpenAI embeddings 请求体", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "OpenAI 兼容响应", "schema": { "type": "object", "additionalProperties": true } } } } }, "/ai/v1/messages": { "post": { "tags": [ "AI 网关" ], "summary": "Anthropic Messages 兼容端点", "parameters": [ { "description": "Anthropic messages 请求体(支持 stream;经 OCI OpenAI 兼容面直通;max_tokens 可缺省,默认 8192)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "Anthropic 兼容响应(流式为 SSE)", "schema": { "type": "object", "additionalProperties": true } } } } }, "/ai/v1/models": { "get": { "tags": [ "AI 网关" ], "summary": "可用模型列表", "responses": { "200": { "description": "OpenAI 兼容 models 列表", "schema": { "type": "object", "additionalProperties": true } } } } }, "/ai/v1/responses": { "post": { "tags": [ "AI 网关" ], "summary": "OpenAI Responses 兼容端点", "parameters": [ { "description": "OpenAI responses 请求体(支持 stream;web_search/x_search 服务端工具仅非流式)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "OpenAI 兼容响应(流式为 SSE)", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/about": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "返回构建、运行时长与资源占用信息,「设置 · 关于」页展示", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/ai-blacklist": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "AI 管理" ], "summary": "模型黑名单列表", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "AI 管理" ], "summary": "添加模型黑名单", "parameters": [ { "description": "请求体:{name: 模型名}", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/ai-blacklist/{id}": { "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "AI 管理" ], "summary": "移除模型黑名单(重新同步后模型恢复入池)", "parameters": [ { "type": "integer", "description": "黑名单条目 ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/ai-channels": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "AI 管理" ], "summary": "---- 渠道 ----", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "AI 管理" ], "summary": "创建 AI 渠道", "parameters": [ { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/oci-portal_internal_service.ChannelInput" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/ai-channels/{id}": { "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "AI 管理" ], "summary": "更新 AI 渠道", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/oci-portal_internal_service.ChannelInput" } } ], "responses": { "204": { "description": "无内容" } } }, "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "AI 管理" ], "summary": "删除 AI 渠道", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/ai-channels/{id}/probe": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "AI 管理" ], "summary": "触发探测:服务可见性 + 模型同步 + 配额试调,返回更新后的渠道", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/ai-channels/{id}/sync-models": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "AI 管理" ], "summary": "同步渠道模型缓存", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/ai-content-logs": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "AI 管理" ], "summary": "分页查询内容日志", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/ai-keys": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "AI 管理" ], "summary": "---- 密钥 ----", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "AI 管理" ], "summary": "生成密钥", "parameters": [ { "description": "请求体(见接口说明)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/ai-keys/{id}": { "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "AI 管理" ], "summary": "更新 AI 网关密钥", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "description": "请求体(见接口说明)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "204": { "description": "无内容" } } }, "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "AI 管理" ], "summary": "删除 AI 网关密钥", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/ai-keys/{id}/content-log": { "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "AI 管理" ], "summary": "设置密钥内容日志窗口", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "description": "请求体(见接口说明)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/ai-logs": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "AI 管理" ], "summary": "AI 调用日志列表", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/ai-models": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "AI 管理" ], "summary": "---- 聚合模型与调用日志 ----", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/auth/credentials": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "认证" ], "summary": "登录凭据摘要", "responses": { "200": { "description": "username 与 passwordLoginDisabled", "schema": { "type": "object", "additionalProperties": true } } } }, "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "认证" ], "summary": "修改登录凭据", "parameters": [ { "description": "新凭据(当前密码必验)", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/oci-portal_internal_service.UpdateCredentialsInput" } } ], "responses": { "204": { "description": "已更新,请重新登录" }, "401": { "description": "当前密码错误", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/auth/identities": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "认证" ], "summary": "已绑定外部身份", "responses": { "200": { "description": "items", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/auth/identities/{id}": { "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "认证" ], "summary": "解绑外部身份", "parameters": [ { "type": "integer", "description": "身份 ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": { "description": "已解绑" }, "409": { "description": "最后一个身份不可解绑", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/auth/login": { "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "认证" ], "summary": "登录", "parameters": [ { "description": "登录凭据", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.loginRequest" } } ], "responses": { "200": { "description": "token 与 expiresAt", "schema": { "type": "object", "additionalProperties": true } }, "401": { "description": "凭据错误", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "428": { "description": "需要两步验证码(totpRequired=true)", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/auth/logout": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "认证" ], "summary": "登出", "responses": { "204": { "description": "令牌已吊销" } } } }, "/api/v1/auth/oauth/providers": { "get": { "tags": [ "认证" ], "summary": "外部登录 provider 列表", "responses": { "200": { "description": "providers 与 passwordLoginDisabled", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/auth/oauth/{provider}/authorize": { "get": { "tags": [ "认证" ], "summary": "外部登录授权跳转", "parameters": [ { "type": "string", "description": "oidc / github", "name": "provider", "in": "path", "required": true }, { "type": "string", "description": "bind=绑定当前账号(需 Bearer),缺省登录", "name": "mode", "in": "query" } ], "responses": { "200": { "description": "url", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/auth/oauth/{provider}/callback": { "get": { "tags": [ "认证" ], "summary": "外部登录回调", "parameters": [ { "type": "string", "description": "oidc / github", "name": "provider", "in": "path", "required": true }, { "type": "string", "description": "授权流程 state", "name": "state", "in": "query", "required": true }, { "type": "string", "description": "授权码", "name": "code", "in": "query", "required": true } ], "responses": { "302": { "description": "登录 token 经 fragment 回前端,绑定回设置页" } } } }, "/api/v1/auth/password-login": { "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "认证" ], "summary": "密码登录开关", "parameters": [ { "description": "{disabled: bool}", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "204": { "description": "已保存" }, "409": { "description": "未绑定外部身份", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/auth/revoke-sessions": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "认证" ], "summary": "撤销全部会话", "responses": { "200": { "description": "新 token 与 expiresAt", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/auth/totp": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "认证" ], "summary": "两步验证状态", "responses": { "200": { "description": "enabled", "schema": { "type": "object", "additionalProperties": { "type": "boolean" } } } } } }, "/api/v1/auth/totp/activate": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "认证" ], "summary": "激活两步验证", "parameters": [ { "description": "{code: 6 位验证码}", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "204": { "description": "已启用" } } } }, "/api/v1/auth/totp/disable": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "认证" ], "summary": "停用两步验证", "parameters": [ { "description": "{password 或 code 任一确认}", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "204": { "description": "已停用" } } } }, "/api/v1/auth/totp/setup": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "认证" ], "summary": "发起两步验证设置", "responses": { "200": { "description": "secret 与 otpauthUri", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "409": { "description": "已启用", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/v1/console-sessions/{sessionId}": { "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "网页控制台" ], "summary": "关闭网页控制台会话", "parameters": [ { "type": "string", "description": "会话 ID", "name": "sessionId", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/console-sessions/{sessionId}/ws": { "get": { "tags": [ "网页控制台" ], "summary": "控制台 WebSocket 数据面", "parameters": [ { "type": "string", "description": "会话 ID", "name": "sessionId", "in": "path", "required": true }, { "type": "string", "description": "JWT(浏览器 WebSocket 无法带头,经 query 传递)", "name": "token", "in": "query", "required": true } ], "responses": { "101": { "description": "升级为 WebSocket" } } } }, "/api/v1/log-events": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "任务与日志回传" ], "summary": "回传日志事件列表", "parameters": [ { "type": "integer", "description": "按配置过滤", "name": "configId", "in": "query" }, { "type": "string", "description": "关键字", "name": "q", "in": "query" } ], "responses": { "200": { "description": "items 与 total", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "租户配置列表", "responses": { "200": { "description": "items", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "导入租户配置", "parameters": [ { "description": "API Key 配置(私钥密文落库)", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.importRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "租户配置详情", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "更新租户配置", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "description": "可更新字段(别名/分组/代理/多区域开关等)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "delete": { "security": [ { "BearerAuth": [] } ], "description": "删除租户配置及其本地关联任务、快照、回传、告警和 AI 渠道数据,并撤销 Webhook 密钥;不删除 OCI 云端资源。", "tags": [ "租户配置" ], "summary": "删除租户配置", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/oci-configs/{id}/audit-events": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "批式懒加载查询租户 OCI 审计事件", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "续查游标(上次响应原样带回)", "name": "cursor", "in": "query" }, { "type": "integer", "description": "单批目标条数,缺省 100,上限 200", "name": "limit", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/audit-events/detail": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "按 eventId 取回原始事件 JSON:缓存命中秒开,", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/availability-domains": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "可用域列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/boot-volume-attachments/{attachmentId}": { "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "存储" ], "summary": "分离引导卷", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "attachmentId", "name": "attachmentId", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/oci-configs/{id}/boot-volumes": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "存储" ], "summary": "引导卷列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/boot-volumes/{bootVolumeId}": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "存储" ], "summary": "引导卷详情", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "bootVolumeId", "name": "bootVolumeId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "存储" ], "summary": "更新引导卷", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "bootVolumeId", "name": "bootVolumeId", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.updateBootVolumeRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "存储" ], "summary": "删除引导卷", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "bootVolumeId", "name": "bootVolumeId", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/oci-configs/{id}/cached-compartments": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "返回筛选器用区间列表:未开多区间支持返回空数组", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/cached-regions": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "返回筛选器用区域列表:未开多区域支持只含默认区域", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/compartments": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "列出租户下全部 ACTIVE compartment", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/console-connections/{connectionId}": { "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "计算" ], "summary": "删除实例控制台连接", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "connectionId", "name": "connectionId", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/oci-configs/{id}/costs": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "成本" ], "summary": "配置成本快照", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/domains": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "租户身份域列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/identity-providers": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "身份提供商列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "创建身份提供商(SAML)", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.createIdpRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/identity-providers/{idpId}": { "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "删除身份提供商", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" }, { "type": "string", "description": "idpId", "name": "idpId", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/oci-configs/{id}/identity-providers/{idpId}/activate": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "激活身份提供商", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" }, { "type": "string", "description": "idpId", "name": "idpId", "in": "path", "required": true }, { "description": "请求体(见接口说明)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/identity-settings": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "身份域设置", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "更新身份域设置", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" }, { "description": "请求体(见接口说明)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/images": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "镜像列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/images/{imageId}": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "镜像详情", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "imageId", "name": "imageId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/instances": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "计算" ], "summary": "实例列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "计算" ], "summary": "创建实例", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.createInstanceRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/instances/{instanceId}": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "计算" ], "summary": "实例详情", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "instanceId", "name": "instanceId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "计算" ], "summary": "更新实例", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "instanceId", "name": "instanceId", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.updateInstanceRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "计算" ], "summary": "终止实例", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "instanceId", "name": "instanceId", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/oci-configs/{id}/instances/{instanceId}/action": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "计算" ], "summary": "实例电源操作(启停/重启)", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "instanceId", "name": "instanceId", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.instanceActionRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/instances/{instanceId}/boot-volume-attachments": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "存储" ], "summary": "引导卷附件列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "instanceId", "name": "instanceId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "存储" ], "summary": "附加引导卷", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "instanceId", "name": "instanceId", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.attachBootVolumeRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/instances/{instanceId}/change-public-ip": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "计算" ], "summary": "---- 实例 IP ----", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "instanceId", "name": "instanceId", "in": "path", "required": true }, { "description": "请求体(见接口说明)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/instances/{instanceId}/console-connections": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "计算" ], "summary": "实例控制台连接列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "instanceId", "name": "instanceId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "计算" ], "summary": "创建实例控制台连接", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "instanceId", "name": "instanceId", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.createConsoleConnectionRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/instances/{instanceId}/console-sessions": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "网页控制台" ], "summary": "创建网页控制台会话", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "实例 OCID", "name": "instanceId", "in": "path", "required": true }, { "description": "{type: serial|vnc}", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "sessionId 与 wsPath", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/instances/{instanceId}/ipv6-addresses": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "计算" ], "summary": "实例添加 IPv6 地址", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "instanceId", "name": "instanceId", "in": "path", "required": true }, { "description": "请求体(见接口说明)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } }, "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "计算" ], "summary": "移除实例 IPv6 地址", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "instanceId", "name": "instanceId", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/oci-configs/{id}/instances/{instanceId}/replace-boot-volume": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "存储" ], "summary": "更换实例引导卷", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "instanceId", "name": "instanceId", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.attachBootVolumeRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/instances/{instanceId}/traffic": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "计算" ], "summary": "---- 流量与成本 ----", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "instanceId", "name": "instanceId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/instances/{instanceId}/vnics": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "计算" ], "summary": "实例 VNIC 列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "instanceId", "name": "instanceId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "计算" ], "summary": "附加 VNIC", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "instanceId", "name": "instanceId", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.attachVnicRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/instances/{instanceId}/volume-attachments": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "存储" ], "summary": "卷附件列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "instanceId", "name": "instanceId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "存储" ], "summary": "附加块存储卷", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "instanceId", "name": "instanceId", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.attachVolumeRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/limits": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "服务限额查询", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/limits/services": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "限额服务列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/log-relay": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "任务与日志回传" ], "summary": "查询 OCI 侧链路状态与关键事件清单", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "任务与日志回传" ], "summary": "一键建立回传链路", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "任务与日志回传" ], "summary": "逆序销毁链路并撤销 secret", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/oci-configs/{id}/log-webhook": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "任务与日志回传" ], "summary": "查询配置的回调地址", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "任务与日志回传" ], "summary": "生成", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "任务与日志回传" ], "summary": "撤销配置的回传 secret,旧回调地址随即失效", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/oci-configs/{id}/notification-recipients": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "---- 域通知收件人与密码策略 ----", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "更新通知收件人", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" }, { "description": "请求体(见接口说明)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/password-policies": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "密码策略列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/password-policies/{policyId}": { "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "更新密码策略", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" }, { "type": "string", "description": "policyId", "name": "policyId", "in": "path", "required": true }, { "description": "请求体(见接口说明)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/region-subscriptions": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "区域订阅列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "订阅新区域", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.subscribeRegionRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/saml-metadata": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "下载 SAML 元数据", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/security-lists": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "网络" ], "summary": "安全列表清单", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "网络" ], "summary": "创建安全列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.createSecurityListRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/security-lists/{securityListId}": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "网络" ], "summary": "安全列表详情", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "securityListId", "name": "securityListId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "网络" ], "summary": "更新安全列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "securityListId", "name": "securityListId", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.updateSecurityListRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "网络" ], "summary": "删除安全列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "securityListId", "name": "securityListId", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/oci-configs/{id}/shapes": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "实例形状列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/sign-on-exemptions": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "创建 MFA 豁免规则", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" }, { "description": "请求体(见接口说明)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/sign-on-exemptions/{ruleId}": { "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "删除 MFA 豁免规则", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" }, { "type": "string", "description": "ruleId", "name": "ruleId", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/oci-configs/{id}/sign-on-rules": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "单点登录规则列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/subnets": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "网络" ], "summary": "子网列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "网络" ], "summary": "创建子网", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.createSubnetRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/subnets/{subnetId}": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "网络" ], "summary": "子网详情", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "subnetId", "name": "subnetId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "网络" ], "summary": "更新子网", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "subnetId", "name": "subnetId", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.renameRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "网络" ], "summary": "删除子网", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "subnetId", "name": "subnetId", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/oci-configs/{id}/subscriptions": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "订阅列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/subscriptions/{subscriptionId}": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "订阅详情", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "subscriptionId", "name": "subscriptionId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/users": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "租户 IAM 用户列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "创建租户 IAM 用户", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.createTenantUserRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/users/{userId}": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "租户用户详情", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" }, { "type": "string", "description": "userId", "name": "userId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "更新租户 IAM 用户", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" }, { "type": "string", "description": "userId", "name": "userId", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.updateTenantUserRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "删除租户 IAM 用户", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" }, { "type": "string", "description": "userId", "name": "userId", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/oci-configs/{id}/users/{userId}/api-keys": { "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "清除用户全部 API Key", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "userId", "name": "userId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/users/{userId}/mfa-devices": { "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "清除用户 MFA 设备", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" }, { "type": "string", "description": "userId", "name": "userId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/users/{userId}/reset-password": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户 IAM" ], "summary": "重置租户用户密码", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "身份域 OCID(缺省 Default 域)", "name": "domainId", "in": "query" }, { "type": "string", "description": "userId", "name": "userId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/vcns": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "网络" ], "summary": "VCN 列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "网络" ], "summary": "创建 VCN", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.createVCNRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/vcns/{vcnId}": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "网络" ], "summary": "VCN 详情", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "vcnId", "name": "vcnId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "网络" ], "summary": "更新 VCN", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "vcnId", "name": "vcnId", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.renameRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "网络" ], "summary": "删除 VCN", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "vcnId", "name": "vcnId", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/oci-configs/{id}/vcns/{vcnId}/enable-ipv6": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "网络" ], "summary": "VCN 启用 IPv6", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "vcnId", "name": "vcnId", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.enableIPv6Request" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/verify": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "验证配置连通性并刷新画像", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/vnic-attachments/{attachmentId}": { "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "计算" ], "summary": "分离 VNIC", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "attachmentId", "name": "attachmentId", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/oci-configs/{id}/vnics/{vnicId}/ipv6-addresses": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "计算" ], "summary": "为指定 VNIC 添加 IPv6", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "vnicId", "name": "vnicId", "in": "path", "required": true }, { "description": "请求体(见接口说明)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/oci-configs/{id}/volume-attachments/{attachmentId}": { "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "存储" ], "summary": "分离块存储卷", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "attachmentId", "name": "attachmentId", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/oci-configs/{id}/volumes": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "存储" ], "summary": "块存储卷列表", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/overview": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "返回总览页聚合数据", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/proxies": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "代理列表", "responses": { "200": { "description": "items", "schema": { "type": "object", "additionalProperties": true } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "创建代理", "parameters": [ { "description": "代理配置(密码只写不回)", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/oci-portal_internal_service.ProxyInput" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/proxies/import": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "批量导入代理", "parameters": [ { "description": "请求体(见接口说明)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/proxies/{id}": { "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "更新代理", "parameters": [ { "type": "integer", "description": "代理 ID", "name": "id", "in": "path", "required": true }, { "description": "代理配置(密码缺省沿用)", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/oci-portal_internal_service.ProxyInput" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "删除代理", "parameters": [ { "type": "integer", "description": "代理 ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/proxies/{id}/probe": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "手动重测代理出口地区,同步返回最新视图", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/proxies/{id}/tenants": { "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "设置代理关联的租户全集", "parameters": [ { "type": "integer", "description": "代理 ID", "name": "id", "in": "path", "required": true }, { "description": "请求体 {\\", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "usedBy", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/regions": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "租户配置" ], "summary": "返回本地维护的完整区域表", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/settings/notify-channels": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "返回全部通知渠道的脱敏视图", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/settings/notify-channels/{type}": { "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "保存单渠道配置并返回全渠道最新视图", "parameters": [ { "type": "string", "description": "渠道类型(webhook/ntfy/bark/smtp)", "name": "type", "in": "path", "required": true }, { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.updateNotifyChannelRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/settings/notify-channels/{type}/test": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "向指定渠道发送测试消息", "parameters": [ { "type": "string", "description": "渠道类型(webhook/ntfy/bark/smtp)", "name": "type", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/settings/notify-events": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "返回全部通知事件开关", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "全量保存五个事件开关并返回最新值", "parameters": [ { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/oci-portal_internal_service.NotifyEventsView" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/settings/notify-templates": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "返回全部通知模板", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/settings/notify-templates/{kind}": { "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "保存单个通知模板", "parameters": [ { "type": "string", "description": "kind", "name": "kind", "in": "path", "required": true }, { "description": "请求体(见接口说明)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/settings/notify-templates/{kind}/test": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "用示例变量渲染模板并同步发送测试消息", "parameters": [ { "type": "string", "description": "kind", "name": "kind", "in": "path", "required": true }, { "description": "请求体(见接口说明)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/settings/oauth": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "OAuth provider 配置", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/oci-portal_internal_service.OAuthProvidersView" } } } }, "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "保存 OAuth provider 配置", "parameters": [ { "description": "provider 配置", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/oci-portal_internal_service.UpdateOAuthInput" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/oci-portal_internal_service.OAuthProvidersView" } } } } }, "/api/v1/settings/security": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "返回安全设置", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "保存安全设置并返回最新值", "parameters": [ { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/oci-portal_internal_service.SecuritySettings" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/settings/task": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "返回任务行为设置", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "保存任务行为设置并返回最新值", "parameters": [ { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/oci-portal_internal_service.TaskSettingsView" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/settings/telegram": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "返回脱敏后的 Telegram 配置,绝不回 token 明文", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "保存配置并返回最新脱敏视图", "parameters": [ { "description": "请求体", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.updateTelegramRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/settings/telegram/test": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "用当前已保存配置同步发送一条测试消息", "responses": { "204": { "description": "无内容" } } } }, "/api/v1/system-logs": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "设置" ], "summary": "系统操作日志列表", "responses": { "200": { "description": "items 与 total", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/tasks": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "任务与日志回传" ], "summary": "任务列表", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "additionalProperties": true } } } } }, "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "任务与日志回传" ], "summary": "创建任务", "parameters": [ { "description": "任务定义(类型/cron/payload)", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.createTaskRequest" } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/tasks/{id}": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "任务与日志回传" ], "summary": "任务详情", "parameters": [ { "type": "integer", "description": "任务 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "put": { "security": [ { "BearerAuth": [] } ], "tags": [ "任务与日志回传" ], "summary": "更新任务", "parameters": [ { "type": "integer", "description": "任务 ID", "name": "id", "in": "path", "required": true }, { "description": "可更新字段", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/internal_api.updateTaskRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } }, "delete": { "security": [ { "BearerAuth": [] } ], "tags": [ "任务与日志回传" ], "summary": "删除任务", "parameters": [ { "type": "integer", "description": "任务 ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": { "description": "无内容" } } } }, "/api/v1/tasks/{id}/logs": { "get": { "security": [ { "BearerAuth": [] } ], "tags": [ "任务与日志回传" ], "summary": "任务执行日志", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/tasks/{id}/run": { "post": { "security": [ { "BearerAuth": [] } ], "tags": [ "任务与日志回传" ], "summary": "立即执行任务(异步触发,结果经任务日志轮询获取)", "parameters": [ { "type": "integer", "description": "配置 ID", "name": "id", "in": "path", "required": true } ], "responses": { "202": { "description": "Accepted", "schema": { "type": "object", "additionalProperties": true } }, "409": { "description": "任务正在执行中", "schema": { "type": "object", "additionalProperties": true } } } } }, "/api/v1/webhooks/oci-logs/{secret}": { "post": { "tags": [ "任务与日志回传" ], "summary": "OCI 日志回传入口(ONS HTTPS 订阅投递)", "parameters": [ { "type": "string", "description": "面板生成的回传密钥(鉴权凭据)", "name": "secret", "in": "path", "required": true }, { "description": "ONS 消息原文(SubscriptionConfirmation / Notification)", "name": "body", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "已受理" }, "403": { "description": "时间戳超窗或证书源非 Oracle 域", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "404": { "description": "secret 无效(不暴露端点存在性)" } } } } }, "definitions": { "internal_api.attachBootVolumeRequest": { "type": "object", "required": [ "bootVolumeId" ], "properties": { "bootVolumeId": { "type": "string" }, "region": { "type": "string" } } }, "internal_api.attachVnicRequest": { "type": "object", "required": [ "subnetId" ], "properties": { "assignIpv6": { "description": "AssignIpv6 为 true 时同时自动分配一个 IPv6(要求子网已启用 IPv6)。", "type": "boolean" }, "assignPublicIp": { "type": "boolean" }, "displayName": { "type": "string" }, "privateIp": { "type": "string" }, "region": { "type": "string" }, "subnetId": { "type": "string" } } }, "internal_api.attachVolumeRequest": { "type": "object", "required": [ "volumeId" ], "properties": { "readOnly": { "type": "boolean" }, "region": { "type": "string" }, "volumeId": { "type": "string" } } }, "internal_api.createConsoleConnectionRequest": { "type": "object", "required": [ "sshPublicKey" ], "properties": { "region": { "type": "string" }, "sshPublicKey": { "type": "string" } } }, "internal_api.createIdpRequest": { "type": "object", "required": [ "metadata", "name" ], "properties": { "assertionAttribute": { "type": "string" }, "description": { "type": "string" }, "iconUrl": { "type": "string" }, "jitAssignAdminGroup": { "type": "boolean" }, "jitCreate": { "type": "boolean" }, "jitEnabled": { "type": "boolean" }, "jitMapEmail": { "type": "boolean" }, "jitUpdate": { "type": "boolean" }, "metadata": { "type": "string" }, "name": { "type": "string" }, "nameIdFormat": { "type": "string" }, "userStoreAttribute": { "type": "string" } } }, "internal_api.createInstanceRequest": { "type": "object", "required": [ "displayName", "shape" ], "properties": { "assignIpv6": { "type": "boolean" }, "assignPublicIp": { "type": "boolean" }, "availabilityDomain": { "description": "为空时默认使用第一个可用域", "type": "string" }, "bootVolumeId": { "type": "string" }, "bootVolumeSizeGBs": { "type": "integer" }, "bootVolumeVpusPerGB": { "type": "integer" }, "compartmentId": { "description": "为空时建在租户根", "type": "string" }, "count": { "description": "批量创建数量,缺省 1,上限 10", "type": "integer" }, "displayName": { "type": "string" }, "generateRootPassword": { "description": "服务端生成随机 root 密码并写入 TAG RootPassword", "type": "boolean" }, "imageId": { "type": "string" }, "memoryInGBs": { "type": "number" }, "ocpus": { "type": "number" }, "region": { "type": "string" }, "rootPassword": { "type": "string" }, "shape": { "type": "string" }, "sshPublicKey": { "type": "string" }, "subnetId": { "description": "为空时自动创建 VCN 与子网", "type": "string" }, "userData": { "type": "string" } } }, "internal_api.createSecurityListRequest": { "type": "object", "required": [ "displayName", "vcnId" ], "properties": { "displayName": { "type": "string" }, "egressRules": { "type": "array", "items": { "$ref": "#/definitions/oci-portal_internal_oci.SecurityRule" } }, "ingressRules": { "type": "array", "items": { "$ref": "#/definitions/oci-portal_internal_oci.SecurityRule" } }, "region": { "type": "string" }, "vcnId": { "type": "string" } } }, "internal_api.createSubnetRequest": { "type": "object", "required": [ "cidrBlock", "displayName", "vcnId" ], "properties": { "cidrBlock": { "type": "string" }, "displayName": { "type": "string" }, "dnsLabel": { "type": "string" }, "ipv6CidrBlock": { "type": "string" }, "prohibitPublicIp": { "type": "boolean" }, "region": { "type": "string" }, "vcnId": { "type": "string" } } }, "internal_api.createTaskRequest": { "type": "object", "required": [ "cronExpr", "name", "type" ], "properties": { "cronExpr": { "type": "string" }, "name": { "type": "string" }, "payload": { "type": "array", "items": { "type": "integer" } }, "type": { "type": "string" } } }, "internal_api.createTenantUserRequest": { "type": "object", "required": [ "familyName", "givenName", "name" ], "properties": { "addToAdminGroup": { "type": "boolean" }, "description": { "type": "string" }, "email": { "type": "string" }, "familyName": { "type": "string" }, "givenName": { "type": "string" }, "grantDomainAdmin": { "description": "同时勾选时先授身份域管理员,再加入管理员组", "type": "boolean" }, "name": { "type": "string" } } }, "internal_api.createVCNRequest": { "type": "object", "required": [ "cidrBlock", "displayName" ], "properties": { "cidrBlock": { "type": "string" }, "compartmentId": { "description": "为空时建在租户根", "type": "string" }, "displayName": { "type": "string" }, "dnsLabel": { "type": "string" }, "enableIpv6": { "description": "缺省默认启用", "type": "boolean" }, "region": { "type": "string" } } }, "internal_api.enableIPv6Request": { "type": "object", "properties": { "region": { "type": "string" } } }, "internal_api.importRequest": { "type": "object", "required": [ "alias", "privateKey" ], "properties": { "alias": { "type": "string" }, "configIni": { "type": "string" }, "fingerprint": { "type": "string" }, "group": { "description": "面板内自定义分组,可空", "type": "string" }, "multiCompartment": { "description": "开启后 compartment 入库缓存", "type": "boolean" }, "multiRegion": { "description": "开启后订阅区域入库缓存", "type": "boolean" }, "passphrase": { "type": "string" }, "privateKey": { "type": "string" }, "proxyId": { "description": "关联出站代理,null 直连", "type": "integer" }, "region": { "type": "string" }, "tenancyOcid": { "type": "string" }, "userOcid": { "type": "string" } } }, "internal_api.instanceActionRequest": { "type": "object", "required": [ "action" ], "properties": { "action": { "type": "string" }, "region": { "type": "string" } } }, "internal_api.loginRequest": { "type": "object", "required": [ "password", "username" ], "properties": { "password": { "type": "string", "maxLength": 128 }, "totpCode": { "description": "两步验证码;账号已启用 TOTP 时必填,缺失返回 428", "type": "string", "maxLength": 8 }, "username": { "description": "字段长度上限防超长输入撑爆登录守卫与 bcrypt(S-03)", "type": "string", "maxLength": 64 } } }, "internal_api.renameRequest": { "type": "object", "required": [ "displayName" ], "properties": { "displayName": { "type": "string" }, "region": { "type": "string" } } }, "internal_api.subscribeRegionRequest": { "type": "object", "required": [ "regionKey" ], "properties": { "regionKey": { "type": "string" } } }, "internal_api.updateBootVolumeRequest": { "type": "object", "properties": { "displayName": { "type": "string" }, "region": { "type": "string" }, "sizeInGBs": { "type": "integer" }, "vpusPerGB": { "type": "integer" } } }, "internal_api.updateInstanceRequest": { "type": "object", "properties": { "displayName": { "type": "string" }, "memoryInGBs": { "type": "number" }, "ocpus": { "type": "number" }, "region": { "type": "string" }, "shape": { "description": "更换 shape,运行中实例会自动重启", "type": "string" } } }, "internal_api.updateNotifyChannelRequest": { "type": "object", "properties": { "bodyTemplate": { "type": "string" }, "enabled": { "type": "boolean" }, "from": { "type": "string" }, "host": { "type": "string" }, "port": { "type": "integer" }, "secret": { "type": "string" }, "server": { "type": "string" }, "to": { "type": "string" }, "topic": { "type": "string" }, "url": { "type": "string" }, "username": { "type": "string" } } }, "internal_api.updateSecurityListRequest": { "type": "object", "properties": { "displayName": { "type": "string" }, "egressRules": { "type": "array", "items": { "$ref": "#/definitions/oci-portal_internal_oci.SecurityRule" } }, "ingressRules": { "type": "array", "items": { "$ref": "#/definitions/oci-portal_internal_oci.SecurityRule" } }, "region": { "type": "string" } } }, "internal_api.updateTaskRequest": { "type": "object", "properties": { "cronExpr": { "type": "string" }, "name": { "type": "string" }, "payload": { "type": "array", "items": { "type": "integer" } }, "status": { "type": "string" } } }, "internal_api.updateTelegramRequest": { "type": "object", "properties": { "botToken": { "type": "string" }, "chatId": { "type": "string" }, "enabled": { "type": "boolean" } } }, "internal_api.updateTenantUserRequest": { "type": "object", "properties": { "addToAdminGroup": { "type": "boolean" }, "description": { "type": "string" }, "email": { "type": "string" }, "familyName": { "type": "string" }, "givenName": { "type": "string" }, "grantDomainAdmin": { "type": "boolean" } } }, "oci-portal_internal_oci.SecurityRule": { "type": "object", "properties": { "description": { "type": "string" }, "destination": { "type": "string" }, "icmpCode": { "type": "integer" }, "icmpType": { "type": "integer" }, "isStateless": { "type": "boolean" }, "portMax": { "type": "integer" }, "portMin": { "type": "integer" }, "protocol": { "description": "all、6(TCP)、17(UDP)、1(ICMP)、58(ICMPv6)", "type": "string" }, "source": { "type": "string" } } }, "oci-portal_internal_service.ChannelInput": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "group": { "type": "string" }, "name": { "type": "string" }, "ociConfigId": { "type": "integer" }, "priority": { "type": "integer" }, "region": { "type": "string" }, "weight": { "type": "integer" } } }, "oci-portal_internal_service.NotifyEventsView": { "type": "object", "properties": { "logEventIdentity": { "type": "boolean" }, "logEventInstance": { "type": "boolean" }, "logEventLogin": { "type": "boolean" }, "logEventPolicy": { "type": "boolean" }, "logEventRegion": { "type": "boolean" }, "loginLock": { "type": "boolean" }, "modelDeprecated": { "type": "boolean" }, "snatchSuccess": { "type": "boolean" }, "taskFail": { "type": "boolean" }, "taskRecover": { "type": "boolean" }, "taskStop": { "type": "boolean" }, "tenantDead": { "type": "boolean" } } }, "oci-portal_internal_service.OAuthProvidersView": { "type": "object", "properties": { "githubClientId": { "type": "string" }, "githubDisabled": { "type": "boolean" }, "githubDisplayName": { "type": "string" }, "githubSecretSet": { "type": "boolean" }, "oidcClientId": { "type": "string" }, "oidcDisabled": { "type": "boolean" }, "oidcDisplayName": { "type": "string" }, "oidcIssuer": { "type": "string" }, "oidcSecretSet": { "type": "boolean" } } }, "oci-portal_internal_service.ProxyInput": { "type": "object", "required": [ "host", "port", "type" ], "properties": { "host": { "type": "string" }, "name": { "type": "string" }, "password": { "type": "string" }, "port": { "type": "integer" }, "type": { "type": "string" }, "username": { "type": "string" } } }, "oci-portal_internal_service.SecuritySettings": { "type": "object", "properties": { "appUrl": { "description": "面板公网基址;优先于 PUBLIC_URL 环境变量,回传链路与 OAuth 回调用", "type": "string" }, "ipRateBurst": { "type": "integer" }, "ipRateRps": { "description": "全局 IP 限速令牌桶", "type": "integer" }, "loginFailLimit": { "description": "登录守卫:LockMinutes 分钟窗口内失败 FailLimit 次锁 LockMinutes 分钟", "type": "integer" }, "loginLockMinutes": { "type": "integer" }, "realIpHeader": { "description": "真实IP请求头:空 = 直连(RemoteAddr);反代后必须选择与反代匹配的头", "type": "string" } } }, "oci-portal_internal_service.TaskSettingsView": { "type": "object", "properties": { "snatchAuthFailLimit": { "type": "integer" } } }, "oci-portal_internal_service.UpdateCredentialsInput": { "type": "object", "required": [ "currentPassword" ], "properties": { "currentPassword": { "type": "string" }, "newPassword": { "type": "string" }, "newUsername": { "type": "string" } } }, "oci-portal_internal_service.UpdateOAuthInput": { "type": "object", "properties": { "githubClientId": { "type": "string" }, "githubClientSecret": { "type": "string" }, "githubDisabled": { "type": "boolean" }, "githubDisplayName": { "type": "string" }, "oidcClientId": { "type": "string" }, "oidcClientSecret": { "type": "string" }, "oidcDisabled": { "type": "boolean" }, "oidcDisplayName": { "type": "string" }, "oidcIssuer": { "type": "string" } } } }, "securityDefinitions": { "BearerAuth": { "description": "登录接口返回的 JWT,格式: Bearer \u003ctoken\u003e", "type": "apiKey", "name": "Authorization", "in": "header" } } }