6332 lines
151 KiB
YAML
6332 lines
151 KiB
YAML
basePath: /
|
|
definitions:
|
|
internal_api.aboutResources:
|
|
properties:
|
|
cpuAvgPercent:
|
|
type: number
|
|
dbBytes:
|
|
type: integer
|
|
dbEngine:
|
|
type: string
|
|
goroutines:
|
|
type: integer
|
|
memHeapBytes:
|
|
type: integer
|
|
memSysBytes:
|
|
type: integer
|
|
numCpu:
|
|
type: integer
|
|
type: object
|
|
internal_api.aboutResponse:
|
|
properties:
|
|
buildTime:
|
|
type: string
|
|
goVersion:
|
|
type: string
|
|
platform:
|
|
type: string
|
|
resources:
|
|
$ref: '#/definitions/internal_api.aboutResources'
|
|
startedAt:
|
|
type: string
|
|
uptimeSeconds:
|
|
type: integer
|
|
version:
|
|
type: string
|
|
type: object
|
|
internal_api.addressResponse:
|
|
properties:
|
|
address:
|
|
type: string
|
|
type: object
|
|
internal_api.aiKeyCreateResponse:
|
|
properties:
|
|
item:
|
|
$ref: '#/definitions/oci-portal_internal_model.AiKey'
|
|
key:
|
|
type: string
|
|
type: object
|
|
internal_api.aiSettingsResponse:
|
|
properties:
|
|
filterDeprecated:
|
|
type: boolean
|
|
type: object
|
|
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.configChangesResponse:
|
|
properties:
|
|
changes:
|
|
$ref: '#/definitions/oci-portal_internal_service.Changes'
|
|
config:
|
|
$ref: '#/definitions/oci-portal_internal_model.OciConfig'
|
|
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.createInstancesResponse:
|
|
properties:
|
|
errors:
|
|
items:
|
|
type: string
|
|
type: array
|
|
instances:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.Instance'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
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.credentialsResponse:
|
|
properties:
|
|
passwordLoginDisabled:
|
|
type: boolean
|
|
username:
|
|
type: string
|
|
type: object
|
|
internal_api.deletedApiKeysResponse:
|
|
properties:
|
|
deletedApiKeys:
|
|
type: integer
|
|
type: object
|
|
internal_api.deletedTotpResponse:
|
|
properties:
|
|
deletedTotpDevices:
|
|
type: integer
|
|
type: object
|
|
internal_api.enableIPv6Request:
|
|
properties:
|
|
region:
|
|
type: string
|
|
type: object
|
|
internal_api.enabledResponse:
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
type: object
|
|
internal_api.errorResponse:
|
|
properties:
|
|
error:
|
|
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.ipv6AddressResponse:
|
|
properties:
|
|
ipv6Address:
|
|
type: string
|
|
type: object
|
|
internal_api.ipv6StepsResponse:
|
|
properties:
|
|
steps:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.IPv6Step'
|
|
type: array
|
|
type: object
|
|
internal_api.itemResponse-oci-portal_internal_model_AiModelBlacklist:
|
|
properties:
|
|
item:
|
|
$ref: '#/definitions/oci-portal_internal_model.AiModelBlacklist'
|
|
type: object
|
|
internal_api.itemsResponse-oci-portal_internal_aiwire_Model:
|
|
properties:
|
|
items:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.Model'
|
|
type: array
|
|
type: object
|
|
internal_api.itemsResponse-oci-portal_internal_model_AiChannel:
|
|
properties:
|
|
items:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_model.AiChannel'
|
|
type: array
|
|
type: object
|
|
internal_api.itemsResponse-oci-portal_internal_model_AiKey:
|
|
properties:
|
|
items:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_model.AiKey'
|
|
type: array
|
|
type: object
|
|
internal_api.itemsResponse-oci-portal_internal_model_AiModelBlacklist:
|
|
properties:
|
|
items:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_model.AiModelBlacklist'
|
|
type: array
|
|
type: object
|
|
internal_api.itemsResponse-oci-portal_internal_model_AiModelCache:
|
|
properties:
|
|
items:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_model.AiModelCache'
|
|
type: array
|
|
type: object
|
|
internal_api.itemsResponse-oci-portal_internal_model_UserIdentity:
|
|
properties:
|
|
items:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_model.UserIdentity'
|
|
type: array
|
|
type: object
|
|
internal_api.itemsResponse-oci-portal_internal_service_NotifyChannelView:
|
|
properties:
|
|
items:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_service.NotifyChannelView'
|
|
type: array
|
|
type: object
|
|
internal_api.itemsResponse-oci-portal_internal_service_NotifyTemplateView:
|
|
properties:
|
|
items:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_service.NotifyTemplateView'
|
|
type: array
|
|
type: object
|
|
internal_api.itemsResponse-oci-portal_internal_service_ProxyView:
|
|
properties:
|
|
items:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_service.ProxyView'
|
|
type: array
|
|
type: object
|
|
internal_api.logWebhookStatusResponse:
|
|
properties:
|
|
exists:
|
|
type: boolean
|
|
webhook:
|
|
$ref: '#/definitions/oci-portal_internal_service.LogWebhookInfo'
|
|
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.oauthProvidersResponse:
|
|
properties:
|
|
passwordLoginDisabled:
|
|
type: boolean
|
|
providers:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_service.ProviderInfo'
|
|
type: array
|
|
type: object
|
|
internal_api.pagedResponse-oci-portal_internal_model_AiCallLog:
|
|
properties:
|
|
items:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_model.AiCallLog'
|
|
type: array
|
|
total:
|
|
type: integer
|
|
type: object
|
|
internal_api.pagedResponse-oci-portal_internal_model_AiContentLog:
|
|
properties:
|
|
items:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_model.AiContentLog'
|
|
type: array
|
|
total:
|
|
type: integer
|
|
type: object
|
|
internal_api.pagedResponse-oci-portal_internal_model_LogEvent:
|
|
properties:
|
|
items:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_model.LogEvent'
|
|
type: array
|
|
total:
|
|
type: integer
|
|
type: object
|
|
internal_api.pagedResponse-oci-portal_internal_model_SystemLog:
|
|
properties:
|
|
items:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_model.SystemLog'
|
|
type: array
|
|
total:
|
|
type: integer
|
|
type: object
|
|
internal_api.passwordResponse:
|
|
properties:
|
|
password:
|
|
type: string
|
|
type: object
|
|
internal_api.publicIpResponse:
|
|
properties:
|
|
publicIp:
|
|
type: string
|
|
type: object
|
|
internal_api.rawDetailResponse:
|
|
properties:
|
|
raw:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
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.testChannelModelRequest:
|
|
properties:
|
|
model:
|
|
type: string
|
|
required:
|
|
- model
|
|
type: object
|
|
internal_api.tokenResponse:
|
|
properties:
|
|
expiresAt:
|
|
type: string
|
|
token:
|
|
type: string
|
|
type: object
|
|
internal_api.totpRequiredResponse:
|
|
properties:
|
|
error:
|
|
type: string
|
|
totpRequired:
|
|
type: boolean
|
|
type: object
|
|
internal_api.totpSetupResponse:
|
|
properties:
|
|
otpauthUri:
|
|
type: string
|
|
secret:
|
|
type: string
|
|
type: object
|
|
internal_api.triggerResponse:
|
|
properties:
|
|
triggered:
|
|
type: boolean
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
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
|
|
internal_api.urlResponse:
|
|
properties:
|
|
url:
|
|
type: string
|
|
type: object
|
|
internal_api.usedByResponse:
|
|
properties:
|
|
usedBy:
|
|
type: integer
|
|
type: object
|
|
internal_api.webConsoleSessionResponse:
|
|
properties:
|
|
sessionId:
|
|
type: string
|
|
type:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.AnthBlock:
|
|
properties:
|
|
content:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
id:
|
|
description: tool_use
|
|
type: string
|
|
input:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
is_error:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
source:
|
|
allOf:
|
|
- $ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
description: image
|
|
text:
|
|
type: string
|
|
tool_use_id:
|
|
description: tool_result
|
|
type: string
|
|
type:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.AnthContent:
|
|
properties:
|
|
blocks:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnthBlock'
|
|
type: array
|
|
text:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.AnthMessage:
|
|
properties:
|
|
content:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnthContent'
|
|
role:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.AnthOutputConfig:
|
|
properties:
|
|
effort:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.AnthTool:
|
|
properties:
|
|
description:
|
|
type: string
|
|
input_schema:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
name:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.AnthUsage:
|
|
properties:
|
|
cache_read_input_tokens:
|
|
description: CacheReadInputTokens 是缓存命中读取数;OCI 隐式缓存无「写入」计数,cache_creation
|
|
恒缺
|
|
type: integer
|
|
input_tokens:
|
|
type: integer
|
|
output_tokens:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_aiwire.AnyJSON:
|
|
type: object
|
|
oci-portal_internal_aiwire.ChatMessage:
|
|
properties:
|
|
content:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
role:
|
|
type: string
|
|
tool_call_id:
|
|
type: string
|
|
tool_calls:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.ToolCall'
|
|
type: array
|
|
type: object
|
|
oci-portal_internal_aiwire.ChatRequest:
|
|
properties:
|
|
max_completion_tokens:
|
|
type: integer
|
|
max_tokens:
|
|
type: integer
|
|
messages:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.ChatMessage'
|
|
type: array
|
|
model:
|
|
type: string
|
|
parallel_tool_calls:
|
|
type: boolean
|
|
reasoning_effort:
|
|
type: string
|
|
response_format:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.ResponseFormat'
|
|
stream:
|
|
type: boolean
|
|
stream_options:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.StreamOptions'
|
|
temperature:
|
|
type: number
|
|
tool_choice:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
tools:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.Tool'
|
|
type: array
|
|
top_p:
|
|
type: number
|
|
type: object
|
|
oci-portal_internal_aiwire.ChatResponse:
|
|
properties:
|
|
choices:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.Choice'
|
|
type: array
|
|
created:
|
|
type: integer
|
|
id:
|
|
type: string
|
|
model:
|
|
type: string
|
|
object:
|
|
type: string
|
|
usage:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.Usage'
|
|
type: object
|
|
oci-portal_internal_aiwire.Choice:
|
|
properties:
|
|
finish_reason:
|
|
type: string
|
|
index:
|
|
type: integer
|
|
message:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.ChatMessage'
|
|
type: object
|
|
oci-portal_internal_aiwire.EmbedUsage:
|
|
properties:
|
|
prompt_tokens:
|
|
type: integer
|
|
total_tokens:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_aiwire.Embedding:
|
|
properties:
|
|
embedding:
|
|
items:
|
|
type: number
|
|
type: array
|
|
index:
|
|
type: integer
|
|
object:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.EmbeddingsRequest:
|
|
properties:
|
|
dimensions:
|
|
type: integer
|
|
encoding_format:
|
|
type: string
|
|
input:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
model:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.EmbeddingsResponse:
|
|
properties:
|
|
data:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.Embedding'
|
|
type: array
|
|
model:
|
|
type: string
|
|
object:
|
|
type: string
|
|
usage:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.EmbedUsage'
|
|
type: object
|
|
oci-portal_internal_aiwire.FunctionCall:
|
|
properties:
|
|
arguments:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.FunctionDef:
|
|
properties:
|
|
description:
|
|
type: string
|
|
name:
|
|
type: string
|
|
parameters:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
type: object
|
|
oci-portal_internal_aiwire.MessagesRequest:
|
|
properties:
|
|
max_tokens:
|
|
type: integer
|
|
messages:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnthMessage'
|
|
type: array
|
|
metadata:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
model:
|
|
type: string
|
|
output_config:
|
|
allOf:
|
|
- $ref: '#/definitions/oci-portal_internal_aiwire.AnthOutputConfig'
|
|
description: OutputConfig 是 Anthropic 官方输出控制(effort 等);网关映射 effort 到 OCI reasoningEffort。
|
|
stop_sequences:
|
|
items:
|
|
type: string
|
|
type: array
|
|
stream:
|
|
type: boolean
|
|
system:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
temperature:
|
|
type: number
|
|
thinking:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
tool_choice:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
tools:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnthTool'
|
|
type: array
|
|
top_k:
|
|
type: integer
|
|
top_p:
|
|
type: number
|
|
type: object
|
|
oci-portal_internal_aiwire.MessagesResponse:
|
|
properties:
|
|
content:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnthBlock'
|
|
type: array
|
|
id:
|
|
type: string
|
|
model:
|
|
type: string
|
|
role:
|
|
type: string
|
|
stop_reason:
|
|
type: string
|
|
stop_sequence:
|
|
type: string
|
|
type:
|
|
type: string
|
|
usage:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnthUsage'
|
|
type: object
|
|
oci-portal_internal_aiwire.Model:
|
|
properties:
|
|
created:
|
|
type: integer
|
|
id:
|
|
type: string
|
|
object:
|
|
type: string
|
|
owned_by:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.ModelList:
|
|
properties:
|
|
data:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.Model'
|
|
type: array
|
|
object:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.ModerationPii:
|
|
properties:
|
|
label:
|
|
type: string
|
|
length:
|
|
type: integer
|
|
offset:
|
|
type: integer
|
|
score:
|
|
type: number
|
|
text:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.ModerationResult:
|
|
properties:
|
|
categories:
|
|
additionalProperties:
|
|
type: boolean
|
|
type: object
|
|
category_scores:
|
|
additionalProperties:
|
|
format: float64
|
|
type: number
|
|
type: object
|
|
flagged:
|
|
type: boolean
|
|
pii:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.ModerationPii'
|
|
type: array
|
|
type: object
|
|
oci-portal_internal_aiwire.ModerationsRequest:
|
|
properties:
|
|
input:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
model:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.ModerationsResponse:
|
|
properties:
|
|
id:
|
|
type: string
|
|
model:
|
|
type: string
|
|
results:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.ModerationResult'
|
|
type: array
|
|
type: object
|
|
oci-portal_internal_aiwire.PromptTokensDetails:
|
|
properties:
|
|
cached_tokens:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_aiwire.RerankDocument:
|
|
properties:
|
|
text:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.RerankRequest:
|
|
properties:
|
|
documents:
|
|
items:
|
|
type: string
|
|
type: array
|
|
model:
|
|
type: string
|
|
query:
|
|
type: string
|
|
return_documents:
|
|
type: boolean
|
|
top_n:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_aiwire.RerankResponse:
|
|
properties:
|
|
model:
|
|
type: string
|
|
results:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.RerankResult'
|
|
type: array
|
|
type: object
|
|
oci-portal_internal_aiwire.RerankResult:
|
|
properties:
|
|
document:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.RerankDocument'
|
|
index:
|
|
type: integer
|
|
relevance_score:
|
|
type: number
|
|
type: object
|
|
oci-portal_internal_aiwire.RespError:
|
|
properties:
|
|
code:
|
|
type: string
|
|
message:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.RespInDetails:
|
|
properties:
|
|
cached_tokens:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_aiwire.RespOutDetails:
|
|
properties:
|
|
reasoning_tokens:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_aiwire.RespReasoning:
|
|
properties:
|
|
effort:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.RespRequest:
|
|
properties:
|
|
background:
|
|
type: boolean
|
|
conversation:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
input:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
instructions:
|
|
type: string
|
|
max_output_tokens:
|
|
type: integer
|
|
model:
|
|
type: string
|
|
parallel_tool_calls:
|
|
type: boolean
|
|
previous_response_id:
|
|
type: string
|
|
reasoning:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.RespReasoning'
|
|
store:
|
|
type: boolean
|
|
stream:
|
|
type: boolean
|
|
temperature:
|
|
type: number
|
|
text:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.RespText'
|
|
tool_choice:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
tools:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.RespTool'
|
|
type: array
|
|
top_p:
|
|
type: number
|
|
type: object
|
|
oci-portal_internal_aiwire.RespResponse:
|
|
properties:
|
|
created_at:
|
|
type: integer
|
|
error:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.RespError'
|
|
id:
|
|
type: string
|
|
model:
|
|
type: string
|
|
object:
|
|
type: string
|
|
output:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
status:
|
|
type: string
|
|
usage:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.RespUsage'
|
|
type: object
|
|
oci-portal_internal_aiwire.RespText:
|
|
properties:
|
|
format:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.RespTextFormat'
|
|
type: object
|
|
oci-portal_internal_aiwire.RespTextFormat:
|
|
properties:
|
|
name:
|
|
type: string
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
strict:
|
|
type: boolean
|
|
type:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.RespTool:
|
|
properties:
|
|
description:
|
|
type: string
|
|
name:
|
|
type: string
|
|
parameters:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
strict:
|
|
type: boolean
|
|
type:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.RespUsage:
|
|
properties:
|
|
input_tokens:
|
|
type: integer
|
|
input_tokens_details:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.RespInDetails'
|
|
output_tokens:
|
|
type: integer
|
|
output_tokens_details:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.RespOutDetails'
|
|
total_tokens:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_aiwire.ResponseFormat:
|
|
properties:
|
|
json_schema:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
type:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.SpeechRequest:
|
|
properties:
|
|
input:
|
|
type: string
|
|
language:
|
|
type: string
|
|
model:
|
|
type: string
|
|
response_format:
|
|
type: string
|
|
voice:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.StreamOptions:
|
|
properties:
|
|
include_usage:
|
|
type: boolean
|
|
type: object
|
|
oci-portal_internal_aiwire.Tool:
|
|
properties:
|
|
function:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.FunctionDef'
|
|
type:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.ToolCall:
|
|
properties:
|
|
function:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.FunctionCall'
|
|
id:
|
|
type: string
|
|
type:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.TtsOutputFormat:
|
|
properties:
|
|
bit_rate:
|
|
type: integer
|
|
codec:
|
|
type: string
|
|
sample_rate:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_aiwire.TtsRequest:
|
|
properties:
|
|
language:
|
|
type: string
|
|
model:
|
|
type: string
|
|
output_format:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.TtsOutputFormat'
|
|
speed:
|
|
type: number
|
|
text:
|
|
type: string
|
|
voice_id:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_aiwire.Usage:
|
|
properties:
|
|
completion_tokens:
|
|
type: integer
|
|
prompt_tokens:
|
|
type: integer
|
|
prompt_tokens_details:
|
|
allOf:
|
|
- $ref: '#/definitions/oci-portal_internal_aiwire.PromptTokensDetails'
|
|
description: PromptTokensDetails 携带缓存命中细分;OCI 为隐式 prompt 缓存,只有读取计数
|
|
total_tokens:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_model.AiCallLog:
|
|
properties:
|
|
cachedTokens:
|
|
description: CachedTokens 是输入中缓存命中(读取)的部分;OCI 隐式缓存无写入计数
|
|
type: integer
|
|
channelId:
|
|
type: integer
|
|
channelName:
|
|
type: string
|
|
clientIp:
|
|
description: ClientIP 是网关调用方来源 IP(尊重「真实 IP 头」安全设置,与系统日志同源)
|
|
type: string
|
|
completionTokens:
|
|
type: integer
|
|
createdAt:
|
|
type: string
|
|
endpoint:
|
|
description: openai / anthropic
|
|
type: string
|
|
errMsg:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
keyId:
|
|
type: integer
|
|
keyName:
|
|
type: string
|
|
latencyMs:
|
|
type: integer
|
|
model:
|
|
type: string
|
|
promptTokens:
|
|
type: integer
|
|
retries:
|
|
type: integer
|
|
status:
|
|
type: integer
|
|
stream:
|
|
type: boolean
|
|
totalTokens:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_model.AiChannel:
|
|
properties:
|
|
createdAt:
|
|
type: string
|
|
disabledUntil:
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
failCount:
|
|
description: FailCount 连续失败计数;达阈值后 DisabledUntil 指数退避熔断,成功/探测通过复位
|
|
type: integer
|
|
group:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
lastProbeAt:
|
|
type: string
|
|
modelCount:
|
|
description: ModelCount 是渠道模型缓存计数,列表查询回填,不落库
|
|
type: integer
|
|
name:
|
|
type: string
|
|
ociConfigId:
|
|
type: integer
|
|
priority:
|
|
type: integer
|
|
probeError:
|
|
type: string
|
|
probeModel:
|
|
description: ProbeModel 是用户测试通过后固定的探测验证模型名;探测时置于候选首位
|
|
type: string
|
|
probeStatus:
|
|
description: ok / no_service / no_quota / error
|
|
type: string
|
|
region:
|
|
type: string
|
|
updatedAt:
|
|
type: string
|
|
weight:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_model.AiContentLog:
|
|
properties:
|
|
callLogId:
|
|
description: CallLogID 关联同次调用的 AiCallLog,调用日志详情据此反查正文
|
|
type: integer
|
|
createdAt:
|
|
type: string
|
|
endpoint:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
keyId:
|
|
type: integer
|
|
keyName:
|
|
type: string
|
|
model:
|
|
type: string
|
|
requestBody:
|
|
description: |-
|
|
RequestBody / ResponseBody 是截断后的正文 JSON;
|
|
64KB 截断恰在 MySQL TEXT 上限(65535B)边界,size 上探一档 → MEDIUMTEXT
|
|
type: string
|
|
responseBody:
|
|
type: string
|
|
stream:
|
|
type: boolean
|
|
type: object
|
|
oci-portal_internal_model.AiKey:
|
|
properties:
|
|
contentLogUntil:
|
|
description: |-
|
|
ContentLogUntil 是内容日志开启截止时间;nil = 永关(默认,红线),
|
|
开启必须限时,到期自动停写
|
|
type: string
|
|
createdAt:
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
group:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
lastUsedAt:
|
|
type: string
|
|
models:
|
|
description: Models 是模型白名单(精确匹配模型名);空 = 不限,非空时网关仅放行列表内模型
|
|
items:
|
|
type: string
|
|
type: array
|
|
name:
|
|
type: string
|
|
tail:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_model.AiModelBlacklist:
|
|
properties:
|
|
createdAt:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_model.AiModelCache:
|
|
properties:
|
|
capability:
|
|
type: string
|
|
channelId:
|
|
type: integer
|
|
deprecatedAt:
|
|
description: |-
|
|
DeprecatedAt 是 OCI 宣布的模型弃用时间;nil 表示未宣布。
|
|
弃用后仍可调用,直到 RetiredAt(按需推理退役,同步层已剔除过期项)。
|
|
type: string
|
|
modelOcid:
|
|
type: string
|
|
name:
|
|
type: string
|
|
retiredAt:
|
|
type: string
|
|
syncedAt:
|
|
type: string
|
|
vendor:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_model.LogEvent:
|
|
properties:
|
|
eventTime:
|
|
type: string
|
|
eventType:
|
|
description: 异步解析回填,如 com.oraclecloud.ComputeApi.TerminateInstance
|
|
type: string
|
|
id:
|
|
type: integer
|
|
messageId:
|
|
description: 幂等键(X-OCI-NS-MessageId)
|
|
type: string
|
|
ociConfigId:
|
|
description: 经 secret 反查归属租户
|
|
type: integer
|
|
payload:
|
|
description: 防御上限 256KB 超 MySQL TEXT(64KB),size 上探一档 → MEDIUMTEXT;PG/SQLite
|
|
仍为 text
|
|
type: string
|
|
processed:
|
|
type: boolean
|
|
receivedAt:
|
|
type: string
|
|
source:
|
|
type: string
|
|
sourceIp:
|
|
description: 异步解析回填,Audit 事件的发起方 IP
|
|
type: string
|
|
truncated:
|
|
type: boolean
|
|
type: object
|
|
oci-portal_internal_model.OciConfig:
|
|
properties:
|
|
accountType:
|
|
type: string
|
|
alias:
|
|
type: string
|
|
aliveStatus:
|
|
type: string
|
|
createdAt:
|
|
type: string
|
|
fingerprint:
|
|
type: string
|
|
group:
|
|
description: |-
|
|
Group 是面板内的自定义分组标签,空串表示未分组;
|
|
列名避开 SQL 保留字 GROUP
|
|
type: string
|
|
homeRegionKey:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
lastError:
|
|
type: string
|
|
lastVerifiedAt:
|
|
type: string
|
|
multiCompartment:
|
|
type: boolean
|
|
multiRegion:
|
|
description: |-
|
|
多区域 / 多区间支持:开启后订阅区域与 compartment 列表入库缓存,
|
|
供筛选器免实时调 OCI;未开启的租户筛选器锁定主区域 / 根区间。
|
|
type: boolean
|
|
paymentModel:
|
|
type: string
|
|
promotionAmount:
|
|
type: number
|
|
promotionExpires:
|
|
type: string
|
|
promotionStatus:
|
|
type: string
|
|
proxyId:
|
|
description: ProxyID 关联出站代理,nil 表示直连;该租户全部 SDK 调用经此代理
|
|
type: integer
|
|
region:
|
|
type: string
|
|
subscriptionId:
|
|
type: string
|
|
subscriptionTier:
|
|
type: string
|
|
tenancyName:
|
|
type: string
|
|
tenancyOcid:
|
|
type: string
|
|
updatedAt:
|
|
type: string
|
|
userOcid:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_model.SystemLog:
|
|
properties:
|
|
clientIp:
|
|
type: string
|
|
createdAt:
|
|
type: string
|
|
durationMs:
|
|
type: integer
|
|
errMsg:
|
|
description: ErrMsg 仅失败请求(>=400)存响应的 error 文案,便于免翻服务端日志定位原因
|
|
type: string
|
|
id:
|
|
type: integer
|
|
method:
|
|
type: string
|
|
path:
|
|
type: string
|
|
status:
|
|
type: integer
|
|
userAgent:
|
|
type: string
|
|
username:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_model.Task:
|
|
properties:
|
|
createdAt:
|
|
type: string
|
|
cronExpr:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
lastError:
|
|
type: string
|
|
lastRunAt:
|
|
type: string
|
|
name:
|
|
type: string
|
|
payload:
|
|
type: string
|
|
runCount:
|
|
type: integer
|
|
status:
|
|
type: string
|
|
type:
|
|
type: string
|
|
updatedAt:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_model.TaskLog:
|
|
properties:
|
|
createdAt:
|
|
type: string
|
|
durationMs:
|
|
type: integer
|
|
id:
|
|
type: integer
|
|
message:
|
|
type: string
|
|
success:
|
|
type: boolean
|
|
taskId:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_model.UserIdentity:
|
|
properties:
|
|
createdAt:
|
|
type: string
|
|
display:
|
|
description: 展示名:邮箱 / GitHub login
|
|
type: string
|
|
id:
|
|
type: integer
|
|
provider:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.AuditEvent:
|
|
properties:
|
|
compartmentName:
|
|
type: string
|
|
eventId:
|
|
type: string
|
|
eventName:
|
|
type: string
|
|
eventTime:
|
|
type: string
|
|
ipAddress:
|
|
type: string
|
|
principalName:
|
|
type: string
|
|
raw:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.AnyJSON'
|
|
requestAction:
|
|
type: string
|
|
requestPath:
|
|
type: string
|
|
resourceName:
|
|
type: string
|
|
source:
|
|
type: string
|
|
status:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.BlockVolume:
|
|
properties:
|
|
availabilityDomain:
|
|
type: string
|
|
displayName:
|
|
type: string
|
|
id:
|
|
type: string
|
|
lifecycleState:
|
|
type: string
|
|
sizeInGBs:
|
|
type: integer
|
|
timeCreated:
|
|
type: string
|
|
vpusPerGB:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_oci.BootVolume:
|
|
properties:
|
|
attachedInstanceId:
|
|
type: string
|
|
attachedInstanceName:
|
|
type: string
|
|
availabilityDomain:
|
|
type: string
|
|
compartmentId:
|
|
type: string
|
|
displayName:
|
|
type: string
|
|
id:
|
|
type: string
|
|
imageId:
|
|
type: string
|
|
imageName:
|
|
type: string
|
|
lifecycleState:
|
|
type: string
|
|
sizeInGBs:
|
|
type: integer
|
|
timeCreated:
|
|
type: string
|
|
vpusPerGB:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_oci.BootVolumeAttachment:
|
|
properties:
|
|
availabilityDomain:
|
|
type: string
|
|
bootVolumeId:
|
|
type: string
|
|
displayName:
|
|
type: string
|
|
id:
|
|
type: string
|
|
instanceId:
|
|
type: string
|
|
lifecycleState:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.Compartment:
|
|
properties:
|
|
description:
|
|
type: string
|
|
id:
|
|
type: string
|
|
lifecycleState:
|
|
type: string
|
|
name:
|
|
type: string
|
|
parentId:
|
|
type: string
|
|
timeCreated:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.ComputeShape:
|
|
properties:
|
|
billingType:
|
|
description: ALWAYS_FREE / LIMITED_FREE / PAID
|
|
type: string
|
|
gpus:
|
|
type: integer
|
|
isFlexible:
|
|
type: boolean
|
|
memoryInGBs:
|
|
type: number
|
|
memoryMaxGBs:
|
|
type: number
|
|
memoryMinGBs:
|
|
type: number
|
|
name:
|
|
type: string
|
|
ocpus:
|
|
type: number
|
|
ocpusMax:
|
|
type: number
|
|
ocpusMin:
|
|
type: number
|
|
processorDescription:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.ConsoleConnection:
|
|
properties:
|
|
connectionString:
|
|
description: 串口控制台 SSH 命令
|
|
type: string
|
|
id:
|
|
type: string
|
|
instanceId:
|
|
type: string
|
|
lifecycleState:
|
|
type: string
|
|
vncConnectionString:
|
|
description: VNC over SSH 隧道命令
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.CostItem:
|
|
properties:
|
|
computedAmount:
|
|
type: number
|
|
computedQuantity:
|
|
type: number
|
|
currency:
|
|
type: string
|
|
groupValue:
|
|
type: string
|
|
timeStart:
|
|
type: string
|
|
unit:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.IPv6Step:
|
|
properties:
|
|
detail:
|
|
type: string
|
|
status:
|
|
description: done / skipped / failed
|
|
type: string
|
|
step:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.IdentityDomain:
|
|
properties:
|
|
displayName:
|
|
type: string
|
|
homeRegion:
|
|
type: string
|
|
id:
|
|
type: string
|
|
licenseType:
|
|
type: string
|
|
type:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.IdentityProviderInfo:
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
id:
|
|
type: string
|
|
jitEnabled:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
partnerProviderId:
|
|
type: string
|
|
timeCreated:
|
|
type: string
|
|
type:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.IdentitySettingInfo:
|
|
properties:
|
|
id:
|
|
type: string
|
|
primaryEmailRequired:
|
|
description: 用户需要提供主电子邮件地址:开启后创建用户 / JIT 预配必须带邮箱
|
|
type: boolean
|
|
type: object
|
|
oci-portal_internal_oci.Image:
|
|
properties:
|
|
displayName:
|
|
type: string
|
|
id:
|
|
type: string
|
|
operatingSystem:
|
|
type: string
|
|
operatingSystemVersion:
|
|
type: string
|
|
sizeInMBs:
|
|
type: integer
|
|
timeCreated:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.Instance:
|
|
properties:
|
|
availabilityDomain:
|
|
type: string
|
|
compartmentId:
|
|
type: string
|
|
definedTags:
|
|
additionalProperties:
|
|
additionalProperties: {}
|
|
type: object
|
|
type: object
|
|
displayName:
|
|
type: string
|
|
freeformTags:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
id:
|
|
type: string
|
|
imageId:
|
|
type: string
|
|
ipv6Addresses:
|
|
items:
|
|
type: string
|
|
type: array
|
|
lifecycleState:
|
|
type: string
|
|
memoryInGBs:
|
|
type: number
|
|
ocpus:
|
|
type: number
|
|
privateIp:
|
|
type: string
|
|
publicIp:
|
|
type: string
|
|
region:
|
|
type: string
|
|
shape:
|
|
type: string
|
|
subnetId:
|
|
type: string
|
|
timeCreated:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.InstanceTraffic:
|
|
properties:
|
|
inboundBytes:
|
|
type: number
|
|
instanceId:
|
|
type: string
|
|
outboundBytes:
|
|
type: number
|
|
vnics:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.VnicTraffic'
|
|
type: array
|
|
type: object
|
|
oci-portal_internal_oci.LimitService:
|
|
properties:
|
|
description:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.LimitValue:
|
|
properties:
|
|
availabilityDomain:
|
|
type: string
|
|
available:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
scopeType:
|
|
type: string
|
|
used:
|
|
type: integer
|
|
value:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_oci.NotificationRecipients:
|
|
properties:
|
|
recipients:
|
|
items:
|
|
type: string
|
|
type: array
|
|
testModeEnabled:
|
|
type: boolean
|
|
type: object
|
|
oci-portal_internal_oci.PasswordPolicyInfo:
|
|
properties:
|
|
id:
|
|
type: string
|
|
minLength:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
numPasswordsInHistory:
|
|
type: integer
|
|
passwordExpiresAfter:
|
|
type: integer
|
|
passwordStrength:
|
|
type: string
|
|
priority:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_oci.PromotionInfo:
|
|
properties:
|
|
amount:
|
|
type: number
|
|
currencyUnit:
|
|
type: string
|
|
duration:
|
|
type: integer
|
|
durationUnit:
|
|
type: string
|
|
isIntentToPay:
|
|
type: boolean
|
|
status:
|
|
type: string
|
|
timeExpired:
|
|
type: string
|
|
timeStarted:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.RegionInfo:
|
|
properties:
|
|
alias:
|
|
type: string
|
|
key:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.RelayResource:
|
|
properties:
|
|
id:
|
|
type: string
|
|
state:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.SecurityList:
|
|
properties:
|
|
displayName:
|
|
type: string
|
|
egressRules:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.SecurityRule'
|
|
type: array
|
|
id:
|
|
type: string
|
|
ingressRules:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.SecurityRule'
|
|
type: array
|
|
lifecycleState:
|
|
type: string
|
|
timeCreated:
|
|
type: string
|
|
vcnId:
|
|
type: string
|
|
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_oci.SignOnRuleInfo:
|
|
properties:
|
|
authenticationFactor:
|
|
type: string
|
|
builtIn:
|
|
type: boolean
|
|
conditionAttribute:
|
|
type: string
|
|
conditionValue:
|
|
type: string
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
sequence:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_oci.Subnet:
|
|
properties:
|
|
availabilityDomain:
|
|
type: string
|
|
cidrBlock:
|
|
type: string
|
|
displayName:
|
|
type: string
|
|
dnsLabel:
|
|
type: string
|
|
id:
|
|
type: string
|
|
ipv6CidrBlock:
|
|
type: string
|
|
lifecycleState:
|
|
type: string
|
|
prohibitPublicIp:
|
|
type: boolean
|
|
routeTableId:
|
|
type: string
|
|
timeCreated:
|
|
type: string
|
|
vcnId:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.SubscriptionDetail:
|
|
properties:
|
|
classicSubscriptionId:
|
|
type: string
|
|
cloudAmountCurrency:
|
|
type: string
|
|
csiNumber:
|
|
type: string
|
|
customerCountryCode:
|
|
type: string
|
|
endDate:
|
|
type: string
|
|
id:
|
|
type: string
|
|
isGovernmentSubscription:
|
|
type: boolean
|
|
lifecycleState:
|
|
type: string
|
|
paymentModel:
|
|
type: string
|
|
programType:
|
|
type: string
|
|
promotions:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.PromotionInfo'
|
|
type: array
|
|
regionAssignment:
|
|
type: string
|
|
serviceName:
|
|
type: string
|
|
startDate:
|
|
type: string
|
|
subscriptionTier:
|
|
type: string
|
|
timeCreated:
|
|
type: string
|
|
timeUpdated:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.SubscriptionInfo:
|
|
properties:
|
|
id:
|
|
type: string
|
|
serviceName:
|
|
type: string
|
|
timeCreated:
|
|
type: string
|
|
timeUpdated:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.TenantUser:
|
|
properties:
|
|
description:
|
|
type: string
|
|
email:
|
|
type: string
|
|
emailVerified:
|
|
type: boolean
|
|
id:
|
|
type: string
|
|
isCurrentUser:
|
|
type: boolean
|
|
lastLoginTime:
|
|
type: string
|
|
lifecycleState:
|
|
type: string
|
|
mfaActivated:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
timeCreated:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.TenantUserDetail:
|
|
properties:
|
|
familyName:
|
|
type: string
|
|
givenName:
|
|
type: string
|
|
inAdminGroup:
|
|
type: boolean
|
|
inDomain:
|
|
type: boolean
|
|
isDomainAdmin:
|
|
type: boolean
|
|
type: object
|
|
oci-portal_internal_oci.TrafficPoint:
|
|
properties:
|
|
bytes:
|
|
type: number
|
|
timestamp:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.VCN:
|
|
properties:
|
|
cidrBlocks:
|
|
items:
|
|
type: string
|
|
type: array
|
|
compartmentId:
|
|
type: string
|
|
defaultRouteTableId:
|
|
type: string
|
|
defaultSecurityListId:
|
|
type: string
|
|
displayName:
|
|
type: string
|
|
dnsLabel:
|
|
type: string
|
|
id:
|
|
type: string
|
|
ipv6CidrBlocks:
|
|
items:
|
|
type: string
|
|
type: array
|
|
lifecycleState:
|
|
type: string
|
|
timeCreated:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.Vnic:
|
|
properties:
|
|
attachmentId:
|
|
type: string
|
|
displayName:
|
|
type: string
|
|
ipv6Addresses:
|
|
items:
|
|
type: string
|
|
type: array
|
|
isPrimary:
|
|
type: boolean
|
|
lifecycleState:
|
|
type: string
|
|
privateIp:
|
|
type: string
|
|
publicIp:
|
|
type: string
|
|
subnetId:
|
|
type: string
|
|
subnetName:
|
|
type: string
|
|
timeCreated:
|
|
type: string
|
|
vnicId:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.VnicTraffic:
|
|
properties:
|
|
inbound:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.TrafficPoint'
|
|
type: array
|
|
inboundBytes:
|
|
type: number
|
|
outbound:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.TrafficPoint'
|
|
type: array
|
|
outboundBytes:
|
|
type: number
|
|
vnicId:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_oci.VolumeAttachment:
|
|
properties:
|
|
availabilityDomain:
|
|
type: string
|
|
device:
|
|
type: string
|
|
displayName:
|
|
type: string
|
|
id:
|
|
type: string
|
|
instanceId:
|
|
type: string
|
|
isReadOnly:
|
|
type: boolean
|
|
lifecycleState:
|
|
type: string
|
|
volumeId:
|
|
type: string
|
|
volumeName:
|
|
description: 卷本身的名称(attachment 名是自动生成的)
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_service.AuditEventsView:
|
|
properties:
|
|
cursor:
|
|
type: string
|
|
exhausted:
|
|
type: boolean
|
|
items:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.AuditEvent'
|
|
type: array
|
|
type: object
|
|
oci-portal_internal_service.Changes:
|
|
additionalProperties:
|
|
items:
|
|
type: string
|
|
type: array
|
|
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.ConfigSummary:
|
|
properties:
|
|
accountType:
|
|
type: string
|
|
alias:
|
|
type: string
|
|
aliveStatus:
|
|
type: string
|
|
createdAt:
|
|
type: string
|
|
group:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
lastError:
|
|
type: string
|
|
lastVerifiedAt:
|
|
type: string
|
|
multiCompartment:
|
|
type: boolean
|
|
multiRegion:
|
|
type: boolean
|
|
proxyId:
|
|
type: integer
|
|
proxyName:
|
|
description: ProxyName 由 List 按关联填充,供表格代理列 hover 展示
|
|
type: string
|
|
region:
|
|
type: string
|
|
tenancyName:
|
|
type: string
|
|
tenancyOcid:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_service.ImportFail:
|
|
properties:
|
|
line:
|
|
type: string
|
|
lineNo:
|
|
type: integer
|
|
reason:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_service.ImportResult:
|
|
properties:
|
|
created:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_service.ProxyView'
|
|
type: array
|
|
failed:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_service.ImportFail'
|
|
type: array
|
|
type: object
|
|
oci-portal_internal_service.LogWebhookInfo:
|
|
properties:
|
|
createdAt:
|
|
type: string
|
|
path:
|
|
type: string
|
|
secret:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_service.NotifyChannelView:
|
|
properties:
|
|
bodyTemplate:
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
from:
|
|
type: string
|
|
host:
|
|
description: smtp
|
|
type: string
|
|
port:
|
|
type: integer
|
|
secretSet:
|
|
description: 密文字段状态(ntfy token / bark device key / smtp password)
|
|
type: boolean
|
|
secretTail:
|
|
type: string
|
|
server:
|
|
description: ntfy / bark 共用 Server
|
|
type: string
|
|
to:
|
|
type: string
|
|
topic:
|
|
type: string
|
|
type:
|
|
type: string
|
|
url:
|
|
description: webhook
|
|
type: string
|
|
username:
|
|
type: string
|
|
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.NotifyTemplateView:
|
|
properties:
|
|
defaultTemplate:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
label:
|
|
type: string
|
|
template:
|
|
description: Template 是自定义模板;空串表示未自定义(按默认发送)
|
|
type: string
|
|
vars:
|
|
items:
|
|
type: string
|
|
type: array
|
|
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.Overview:
|
|
properties:
|
|
check:
|
|
$ref: '#/definitions/oci-portal_internal_service.OverviewCheck'
|
|
cost:
|
|
$ref: '#/definitions/oci-portal_internal_service.OverviewCost'
|
|
tasks:
|
|
$ref: '#/definitions/oci-portal_internal_service.OverviewTasks'
|
|
tenants:
|
|
$ref: '#/definitions/oci-portal_internal_service.OverviewTenants'
|
|
type: object
|
|
oci-portal_internal_service.OverviewCheck:
|
|
properties:
|
|
coveredConfigs:
|
|
type: integer
|
|
hasActiveTask:
|
|
type: boolean
|
|
instanceCount:
|
|
type: integer
|
|
lastCheckedAt:
|
|
type: string
|
|
totalConfigs:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_service.OverviewCost:
|
|
properties:
|
|
coveredConfigs:
|
|
type: integer
|
|
currency:
|
|
type: string
|
|
days:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_service.OverviewCostDay'
|
|
type: array
|
|
hasActiveTask:
|
|
type: boolean
|
|
total:
|
|
type: number
|
|
type: object
|
|
oci-portal_internal_service.OverviewCostDay:
|
|
properties:
|
|
amount:
|
|
type: number
|
|
day:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_service.OverviewTasks:
|
|
properties:
|
|
active:
|
|
type: integer
|
|
cost:
|
|
type: integer
|
|
healthCheck:
|
|
type: integer
|
|
snatch:
|
|
type: integer
|
|
total:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_service.OverviewTenants:
|
|
properties:
|
|
alive:
|
|
type: integer
|
|
byType:
|
|
additionalProperties:
|
|
type: integer
|
|
type: object
|
|
dead:
|
|
type: integer
|
|
total:
|
|
type: integer
|
|
type: object
|
|
oci-portal_internal_service.ProviderInfo:
|
|
properties:
|
|
displayName:
|
|
type: string
|
|
provider:
|
|
type: string
|
|
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.ProxyView:
|
|
properties:
|
|
city:
|
|
type: string
|
|
country:
|
|
description: Country / City 为出口实测地区;GeoAt 空串表示尚未探测(前端显示「检测中」)
|
|
type: string
|
|
createdAt:
|
|
type: string
|
|
geoAt:
|
|
type: string
|
|
host:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
passwordSet:
|
|
type: boolean
|
|
port:
|
|
type: integer
|
|
type:
|
|
type: string
|
|
usedBy:
|
|
description: UsedBy 为关联此代理的租户数,前端据此提示删除约束
|
|
type: integer
|
|
username:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_service.RegionSubscriptionView:
|
|
properties:
|
|
alias:
|
|
type: string
|
|
isHomeRegion:
|
|
type: boolean
|
|
key:
|
|
type: string
|
|
name:
|
|
type: string
|
|
status:
|
|
type: string
|
|
type: object
|
|
oci-portal_internal_service.RelayView:
|
|
properties:
|
|
connector:
|
|
$ref: '#/definitions/oci-portal_internal_oci.RelayResource'
|
|
endpoint:
|
|
type: string
|
|
events:
|
|
items:
|
|
type: string
|
|
type: array
|
|
policy:
|
|
$ref: '#/definitions/oci-portal_internal_oci.RelayResource'
|
|
ready:
|
|
type: boolean
|
|
subscription:
|
|
$ref: '#/definitions/oci-portal_internal_oci.RelayResource'
|
|
topic:
|
|
$ref: '#/definitions/oci-portal_internal_oci.RelayResource'
|
|
webhook:
|
|
$ref: '#/definitions/oci-portal_internal_service.LogWebhookInfo'
|
|
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.TelegramView:
|
|
properties:
|
|
chatId:
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
tokenSet:
|
|
type: boolean
|
|
tokenTail:
|
|
type: string
|
|
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/audio/speech:
|
|
post:
|
|
parameters:
|
|
- description: OpenAI audio speech 请求体(model/input 必填,voice 见 xAI Grok Voice
|
|
列表,language 缺省 auto;未列字段原样透传)
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.SpeechRequest'
|
|
responses:
|
|
"200":
|
|
description: 音频字节(Content-Type 透传上游,默认 audio/mpeg)
|
|
schema:
|
|
type: file
|
|
summary: OpenAI Audio Speech 兼容端点(文本转语音)
|
|
tags:
|
|
- AI 网关
|
|
/ai/v1/chat/completions:
|
|
post:
|
|
parameters:
|
|
- description: OpenAI chat/completions 请求体(支持 stream;经 Responses 转换直通)
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.ChatRequest'
|
|
responses:
|
|
"200":
|
|
description: 'OpenAI 兼容响应(非流式;流式为 SSE,末尾 data: [DONE])'
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.ChatResponse'
|
|
summary: OpenAI Chat Completions 兼容端点
|
|
tags:
|
|
- AI 网关
|
|
/ai/v1/embeddings:
|
|
post:
|
|
parameters:
|
|
- description: OpenAI embeddings 请求体
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.EmbeddingsRequest'
|
|
responses:
|
|
"200":
|
|
description: OpenAI 兼容响应
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.EmbeddingsResponse'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.MessagesRequest'
|
|
responses:
|
|
"200":
|
|
description: Anthropic 兼容响应(非流式;流式为 SSE 事件序列)
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.MessagesResponse'
|
|
summary: Anthropic Messages 兼容端点
|
|
tags:
|
|
- AI 网关
|
|
/ai/v1/models:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: OpenAI 兼容 models 列表
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.ModelList'
|
|
summary: 可用模型列表
|
|
tags:
|
|
- AI 网关
|
|
/ai/v1/moderations:
|
|
post:
|
|
parameters:
|
|
- description: 审核请求体(input 为字符串或字符串数组,单次至多 8 条;model 接受但忽略)
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.ModerationsRequest'
|
|
responses:
|
|
"200":
|
|
description: 审核结果(categories/category_scores 为 overall/blocklist/prompt_injection,pii
|
|
为扩展字段)
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.ModerationsResponse'
|
|
summary: 内容审核端点(OCI Guardrails)
|
|
tags:
|
|
- AI 网关
|
|
/ai/v1/rerank:
|
|
post:
|
|
parameters:
|
|
- description: 重排请求体(model/query/documents 必填,可选 top_n/return_documents)
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.RerankRequest'
|
|
responses:
|
|
"200":
|
|
description: 重排结果(results[].index 指向入参下标)
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.RerankResponse'
|
|
summary: 文档重排端点(Cohere Rerank)
|
|
tags:
|
|
- AI 网关
|
|
/ai/v1/responses:
|
|
post:
|
|
parameters:
|
|
- description: OpenAI responses 请求体(支持 stream;服务端工具 web_search/x_search/code_interpreter/mcp
|
|
含流式;codex 兼容:namespace 工具组拍平为限定名 function 并在响应还原,custom 工具转 function 包装并回转
|
|
custom_tool_call(apply_patch 丢弃),tool_search 剥离,web_search.external_web_access
|
|
上游不支持自动处理,超 76KB 流式请求自动改非流式合成 SSE;未列字段原样透传上游)
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.RespRequest'
|
|
responses:
|
|
"200":
|
|
description: OpenAI 兼容响应(非流式;流式为 SSE);直通仅建模常用字段,未列字段原样返回
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.RespResponse'
|
|
summary: OpenAI Responses 兼容端点
|
|
tags:
|
|
- AI 网关
|
|
/ai/v1/tts:
|
|
post:
|
|
parameters:
|
|
- description: xAI TTS 请求体(text/language 必填,voice_id 缺省 eve;model 为网关扩展,缺省 xai.grok-tts;未列字段原样透传)
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_aiwire.TtsRequest'
|
|
responses:
|
|
"200":
|
|
description: 音频字节(Content-Type 透传上游,默认 audio/mpeg)
|
|
schema:
|
|
type: file
|
|
summary: xAI 官方格式文本转语音端点
|
|
tags:
|
|
- AI 网关
|
|
/api/v1/about:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/internal_api.aboutResponse'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 返回构建、运行时长与资源占用信息,「设置 · 关于」页展示
|
|
tags:
|
|
- 设置
|
|
/api/v1/ai-blacklist:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/internal_api.itemsResponse-oci-portal_internal_model_AiModelBlacklist'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 模型黑名单列表
|
|
tags:
|
|
- AI 管理
|
|
post:
|
|
parameters:
|
|
- description: '请求体:{name: 模型名}'
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
type: object
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
$ref: '#/definitions/internal_api.itemResponse-oci-portal_internal_model_AiModelBlacklist'
|
|
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:
|
|
$ref: '#/definitions/internal_api.itemsResponse-oci-portal_internal_model_AiChannel'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_model.AiChannel'
|
|
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}/models:
|
|
get:
|
|
parameters:
|
|
- description: 渠道 ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/internal_api.itemsResponse-oci-portal_internal_model_AiModelCache'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 渠道模型缓存列表
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_model.AiChannel'
|
|
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:
|
|
$ref: '#/definitions/internal_api.itemsResponse-oci-portal_internal_model_AiModelCache'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 同步渠道模型缓存
|
|
tags:
|
|
- AI 管理
|
|
/api/v1/ai-channels/{id}/test-model:
|
|
post:
|
|
parameters:
|
|
- description: 渠道 ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
- description: 模型名
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/internal_api.testChannelModelRequest'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_model.AiChannel'
|
|
"502":
|
|
description: 试调未通过
|
|
schema:
|
|
$ref: '#/definitions/internal_api.errorResponse'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 测试渠道模型(max_tokens=16 试调;通过即设为探测验证模型并按需置渠道可用)
|
|
tags:
|
|
- AI 管理
|
|
/api/v1/ai-content-logs:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/internal_api.pagedResponse-oci-portal_internal_model_AiCallLog'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 分页查询内容日志
|
|
tags:
|
|
- AI 管理
|
|
/api/v1/ai-keys:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/internal_api.itemsResponse-oci-portal_internal_model_AiKey'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: '---- 密钥 ----'
|
|
tags:
|
|
- AI 管理
|
|
post:
|
|
parameters:
|
|
- description: 请求体(见接口说明)
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
type: object
|
|
responses:
|
|
"201":
|
|
description: key 为明文密钥,仅本次返回
|
|
schema:
|
|
$ref: '#/definitions/internal_api.aiKeyCreateResponse'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_model.AiKey'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 设置密钥内容日志窗口
|
|
tags:
|
|
- AI 管理
|
|
/api/v1/ai-logs:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/internal_api.pagedResponse-oci-portal_internal_model_AiContentLog'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: AI 调用日志列表
|
|
tags:
|
|
- AI 管理
|
|
/api/v1/ai-models:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/internal_api.itemsResponse-oci-portal_internal_aiwire_Model'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: '---- 聚合模型与调用日志 ----'
|
|
tags:
|
|
- AI 管理
|
|
/api/v1/ai-settings:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/internal_api.aiSettingsResponse'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: AI 网关全局设置
|
|
tags:
|
|
- AI 管理
|
|
put:
|
|
parameters:
|
|
- description: 开启后已宣布弃用(即使未退役)的模型从列表与路由中排除
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/internal_api.aiSettingsResponse'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/internal_api.aiSettingsResponse'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 更新 AI 网关全局设置
|
|
tags:
|
|
- AI 管理
|
|
/api/v1/auth/credentials:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: username 与 passwordLoginDisabled
|
|
schema:
|
|
$ref: '#/definitions/internal_api.credentialsResponse'
|
|
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:
|
|
$ref: '#/definitions/internal_api.errorResponse'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 修改登录凭据
|
|
tags:
|
|
- 认证
|
|
/api/v1/auth/identities:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: items
|
|
schema:
|
|
$ref: '#/definitions/internal_api.itemsResponse-oci-portal_internal_model_UserIdentity'
|
|
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:
|
|
$ref: '#/definitions/internal_api.errorResponse'
|
|
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:
|
|
$ref: '#/definitions/internal_api.tokenResponse'
|
|
"401":
|
|
description: 凭据错误
|
|
schema:
|
|
$ref: '#/definitions/internal_api.errorResponse'
|
|
"428":
|
|
description: 需要两步验证码(totpRequired=true)
|
|
schema:
|
|
$ref: '#/definitions/internal_api.totpRequiredResponse'
|
|
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:
|
|
$ref: '#/definitions/internal_api.urlResponse'
|
|
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:
|
|
$ref: '#/definitions/internal_api.oauthProvidersResponse'
|
|
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:
|
|
$ref: '#/definitions/internal_api.errorResponse'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 密码登录开关
|
|
tags:
|
|
- 认证
|
|
/api/v1/auth/revoke-sessions:
|
|
post:
|
|
responses:
|
|
"200":
|
|
description: 新 token 与 expiresAt
|
|
schema:
|
|
$ref: '#/definitions/internal_api.tokenResponse'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 撤销全部会话
|
|
tags:
|
|
- 认证
|
|
/api/v1/auth/totp:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: enabled
|
|
schema:
|
|
$ref: '#/definitions/internal_api.enabledResponse'
|
|
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:
|
|
$ref: '#/definitions/internal_api.totpSetupResponse'
|
|
"409":
|
|
description: 已启用
|
|
schema:
|
|
$ref: '#/definitions/internal_api.errorResponse'
|
|
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:
|
|
$ref: '#/definitions/internal_api.pagedResponse-oci-portal_internal_model_LogEvent'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 回传日志事件列表
|
|
tags:
|
|
- 任务与日志回传
|
|
/api/v1/oci-configs:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_service.ConfigSummary'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_model.OciConfig'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_model.OciConfig'
|
|
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: config 与 changes 字段变更对照
|
|
schema:
|
|
$ref: '#/definitions/internal_api.configChangesResponse'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_service.AuditEventsView'
|
|
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: raw 为事件原文 JSON
|
|
schema:
|
|
$ref: '#/definitions/internal_api.rawDetailResponse'
|
|
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:
|
|
items:
|
|
type: string
|
|
type: array
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.BootVolume'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.BootVolume'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.BootVolume'
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.Compartment'
|
|
type: array
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_service.RegionSubscriptionView'
|
|
type: array
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.Compartment'
|
|
type: array
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.CostItem'
|
|
type: array
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.IdentityDomain'
|
|
type: array
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.IdentityProviderInfo'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.IdentityProviderInfo'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.IdentityProviderInfo'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.IdentitySettingInfo'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.IdentitySettingInfo'
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.Image'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.Image'
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.Instance'
|
|
type: array
|
|
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: 部分成功仍 201,errors 为逐台失败信息
|
|
schema:
|
|
$ref: '#/definitions/internal_api.createInstancesResponse'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.Instance'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.Instance'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.Instance'
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.BootVolumeAttachment'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.BootVolumeAttachment'
|
|
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:
|
|
$ref: '#/definitions/internal_api.publicIpResponse'
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.ConsoleConnection'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.ConsoleConnection'
|
|
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:
|
|
"201":
|
|
description: sessionId 与 type
|
|
schema:
|
|
$ref: '#/definitions/internal_api.webConsoleSessionResponse'
|
|
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:
|
|
$ref: '#/definitions/internal_api.ipv6AddressResponse'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.BootVolumeAttachment'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.InstanceTraffic'
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.Vnic'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.Vnic'
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.VolumeAttachment'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.VolumeAttachment'
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.LimitValue'
|
|
type: array
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.LimitService'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_service.RelayView'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 查询 OCI 侧链路状态与关键事件清单
|
|
tags:
|
|
- 任务与日志回传
|
|
post:
|
|
parameters:
|
|
- description: 配置 ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_service.RelayView'
|
|
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:
|
|
$ref: '#/definitions/internal_api.logWebhookStatusResponse'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 查询配置的回调地址
|
|
tags:
|
|
- 任务与日志回传
|
|
post:
|
|
parameters:
|
|
- description: 配置 ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_service.LogWebhookInfo'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.NotificationRecipients'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.NotificationRecipients'
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.PasswordPolicyInfo'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.PasswordPolicyInfo'
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_service.RegionSubscriptionView'
|
|
type: array
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_service.RegionSubscriptionView'
|
|
type: array
|
|
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: SAML 元数据 XML(附件下载)
|
|
schema:
|
|
type: file
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.SecurityList'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.SecurityList'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.SecurityList'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.SecurityList'
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.ComputeShape'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.SignOnRuleInfo'
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.SignOnRuleInfo'
|
|
type: array
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.Subnet'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.Subnet'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.Subnet'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.Subnet'
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.SubscriptionInfo'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.SubscriptionDetail'
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.TenantUser'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.TenantUser'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.TenantUserDetail'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.TenantUser'
|
|
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:
|
|
$ref: '#/definitions/internal_api.deletedApiKeysResponse'
|
|
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:
|
|
$ref: '#/definitions/internal_api.deletedTotpResponse'
|
|
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: 一次性明文密码
|
|
schema:
|
|
$ref: '#/definitions/internal_api.passwordResponse'
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.VCN'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.VCN'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.VCN'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_oci.VCN'
|
|
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:
|
|
$ref: '#/definitions/internal_api.ipv6StepsResponse'
|
|
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: config 与 changes 字段变更对照
|
|
schema:
|
|
$ref: '#/definitions/internal_api.configChangesResponse'
|
|
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:
|
|
$ref: '#/definitions/internal_api.addressResponse'
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.BlockVolume'
|
|
type: array
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 块存储卷列表
|
|
tags:
|
|
- 存储
|
|
/api/v1/overview:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_service.Overview'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 返回总览页聚合数据
|
|
tags:
|
|
- 租户配置
|
|
/api/v1/proxies:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: items
|
|
schema:
|
|
$ref: '#/definitions/internal_api.itemsResponse-oci-portal_internal_service_ProxyView'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_service.ProxyView'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_service.ProxyView'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_service.ProxyView'
|
|
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:
|
|
$ref: '#/definitions/internal_api.usedByResponse'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_service.ImportResult'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 批量导入代理
|
|
tags:
|
|
- 设置
|
|
/api/v1/regions:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_oci.RegionInfo'
|
|
type: array
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 返回本地维护的完整区域表
|
|
tags:
|
|
- 租户配置
|
|
/api/v1/settings/notify-channels:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/internal_api.itemsResponse-oci-portal_internal_service_NotifyChannelView'
|
|
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:
|
|
$ref: '#/definitions/internal_api.itemsResponse-oci-portal_internal_service_NotifyChannelView'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_service.NotifyEventsView'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_service.NotifyEventsView'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 全量保存五个事件开关并返回最新值
|
|
tags:
|
|
- 设置
|
|
/api/v1/settings/notify-templates:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/internal_api.itemsResponse-oci-portal_internal_service_NotifyTemplateView'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_service.SecuritySettings'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_service.SecuritySettings'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 保存安全设置并返回最新值
|
|
tags:
|
|
- 设置
|
|
/api/v1/settings/task:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_service.TaskSettingsView'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_service.TaskSettingsView'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 保存任务行为设置并返回最新值
|
|
tags:
|
|
- 设置
|
|
/api/v1/settings/telegram:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/oci-portal_internal_service.TelegramView'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_service.TelegramView'
|
|
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:
|
|
$ref: '#/definitions/internal_api.pagedResponse-oci-portal_internal_model_SystemLog'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: 系统操作日志列表
|
|
tags:
|
|
- 设置
|
|
/api/v1/tasks:
|
|
get:
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_model.Task'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_model.Task'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_model.Task'
|
|
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:
|
|
$ref: '#/definitions/oci-portal_internal_model.Task'
|
|
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:
|
|
items:
|
|
$ref: '#/definitions/oci-portal_internal_model.TaskLog'
|
|
type: array
|
|
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:
|
|
$ref: '#/definitions/internal_api.triggerResponse'
|
|
"409":
|
|
description: 任务正在执行中
|
|
schema:
|
|
$ref: '#/definitions/internal_api.errorResponse'
|
|
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:
|
|
$ref: '#/definitions/internal_api.errorResponse'
|
|
"404":
|
|
description: secret 无效(不暴露端点存在性)
|
|
summary: OCI 日志回传入口(ONS HTTPS 订阅投递)
|
|
tags:
|
|
- 任务与日志回传
|
|
securityDefinitions:
|
|
BearerAuth:
|
|
description: '登录接口返回的 JWT,格式: Bearer <token>'
|
|
in: header
|
|
name: Authorization
|
|
type: apiKey
|
|
swagger: "2.0"
|