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