方法路径摘要认证
GET/v1/node-line-groups查询线路组当前修订列表登录会话
POST/v1/node-line-groups创建线路组首个不可变修订登录会话
GET/v1/node-line-groups/{id}查询线路组当前修订登录会话
PUT/v1/node-line-groups/{id}创建线路组下一不可变修订登录会话
DELETE/v1/node-line-groups/{id}软删除线路组并保留不可变修订历史登录会话
POST/v1/node-line-groups/{id}/decisions计算可审计的区域健康调度决策登录会话
POST/v1/node-line-groups/{id}/platform-default设为或取消平台默认线路组登录会话
GET/v1/node-line-groups/{id}/revisions/{revision}查询线路组历史修订登录会话
POST/v1/node-line-groups/{id}/rollback将历史配置复制为新的当前修订登录会话
GET/v1/node-line-groups/{id}/target-snapshots按来源修订查询 L1/L2 拓扑快照登录会话
POST/v1/node-line-groups/{id}/target-snapshots创建 L1 目标与 L2 候选拓扑快照登录会话

契约文件:api/control-node-scheduling.openapi.yaml

接口详情

GET /v1/node-line-groups

查询线路组当前修订列表

operationId
listNodeLineGroups
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

契约没有单独标注权限码,权限要求见下方说明与 403 响应。

参数

listNodeLineGroups 参数
名称位置类型必填说明
target_scope_idquerystring(uuid)否Tenant credentials may omit this value or repeat their own scope. Platform Bearer credentials omit it to target the platform scope; an explicit tenant scope is allowed only on read or decision operations.

响应

listNodeLineGroups 响应
状态码说明
200Current immutable revision of every visible line group.

字段:items: array<LineGroupRevision>

400Stable error envelope; messages are not localization keys.
defaultStable error envelope; messages are not localization keys.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。

↑ 回到列表

POST /v1/node-line-groups

创建线路组首个不可变修订

operationId
createNodeLineGroup
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

契约没有单独标注权限码,权限要求见下方说明与 403 响应。

说明(契约原文)

租户会话管理自身作用域;平台会话未指定 target_scope_id 时管理本主控平台作用域,显式指定租户作用域时拒绝写入。

参数

createNodeLineGroup 参数
名称位置类型必填说明
target_scope_idquerystring(uuid)否Tenant credentials may omit this value or repeat their own scope. Platform Bearer credentials omit it to target the platform scope; an explicit tenant scope is allowed only on read or decision operations.
If-Matchheaderstring是Must be the single exact quoted value "0".
Idempotency-Keyheaderstring是—
X-Request-IDheaderstring是—

请求体

application/json · 必填:是

createNodeLineGroup 请求体
名称类型必填说明
namestring是—
regionstring否—
resolved_valuestring否留空时由服务端生成稳定的小写 DNS 标签;不要填写域名后缀、端口或 IP。
ipv4_resolved_valuestring否IPv4 专用解析值;留空时由服务端按线路组 ID 生成稳定的小写 DNS 标签。
l2_config_idstring(uuid) | null(uuid)否同一作用域、同一区域且未引用其他 L2 配置的活动线路组;为空表示独立线路组。
failover_modestring: primary_offline / online_less_than_backup_count否有主IP下线时逐个启用备用IP,或在线主IP数少于备用IP数时启用全部备用IP。
notestring否—
sort_orderinteger(int32)否—
health_policyHealthPolicy是—
endpointsarray<EndpointWrite>是—

响应

createNodeLineGroup 响应
状态码说明
201Revision 1 created. ETag is a quoted decimal revision.

字段:group: LineGroupRevision replayed: boolean

400Stable error envelope; messages are not localization keys.
409Stable error envelope; messages are not localization keys.
defaultStable error envelope; messages are not localization keys.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。
  • 409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。

↑ 回到列表

GET /v1/node-line-groups/{id}

查询线路组当前修订

operationId
getNodeLineGroup
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

契约没有单独标注权限码,权限要求见下方说明与 403 响应。

参数

getNodeLineGroup 参数
名称位置类型必填说明
idpathstring(uuid)是—
target_scope_idquerystring(uuid)否Tenant credentials may omit this value or repeat their own scope. Platform Bearer credentials omit it to target the platform scope; an explicit tenant scope is allowed only on read or decision operations.

响应

getNodeLineGroup 响应
状态码说明
200Current immutable revision.

字段:id: string(uuid) display_id: string tenant_scope_id: string(uuid) revision: integer(int64) name: string region: string resolved_value: string ipv4_resolved_value: string l2_config_id: string(uuid) | null(uuid) failover_mode: string: primary_offline / online_less_than_backup_count note: string sort_order: integer(int32) health_policy: HealthPolicy endpoints: array<Endpoint> statistics?: LineGroupStatistics configuration_digest: string created_by_user_id: string(uuid) created_at: string(date-time) sealed_at: string(date-time) is_platform_default?: boolean backup_states?: array<LineBackupState>

400Stable error envelope; messages are not localization keys.
defaultStable error envelope; messages are not localization keys.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。

↑ 回到列表

PUT /v1/node-line-groups/{id}

创建线路组下一不可变修订

operationId
updateNodeLineGroup
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

契约没有单独标注权限码,权限要求见下方说明与 403 响应。

说明(契约原文)

租户会话管理自身作用域;平台会话未指定 target_scope_id 时管理本主控平台作用域,显式指定租户作用域时拒绝写入。

参数

updateNodeLineGroup 参数
名称位置类型必填说明
idpathstring(uuid)是—
target_scope_idquerystring(uuid)否Tenant credentials may omit this value or repeat their own scope. Platform Bearer credentials omit it to target the platform scope; an explicit tenant scope is allowed only on read or decision operations.
If-Matchheaderstring是Single quoted positive decimal current revision, for example "3".
Idempotency-Keyheaderstring是—
X-Request-IDheaderstring是—

请求体

application/json · 必填:是

updateNodeLineGroup 请求体
名称类型必填说明
namestring是—
regionstring否—
resolved_valuestring否留空时由服务端生成稳定的小写 DNS 标签;不要填写域名后缀、端口或 IP。
ipv4_resolved_valuestring否IPv4 专用解析值;留空时由服务端按线路组 ID 生成稳定的小写 DNS 标签。
l2_config_idstring(uuid) | null(uuid)否同一作用域、同一区域且未引用其他 L2 配置的活动线路组;为空表示独立线路组。
failover_modestring: primary_offline / online_less_than_backup_count否有主IP下线时逐个启用备用IP,或在线主IP数少于备用IP数时启用全部备用IP。
notestring否—
sort_orderinteger(int32)否—
health_policyHealthPolicy是—
endpointsarray<EndpointWrite>是—

响应

updateNodeLineGroup 响应
状态码说明
200New immutable current revision.

字段:group: LineGroupRevision replayed: boolean

400Stable error envelope; messages are not localization keys.
409Stable error envelope; messages are not localization keys.
defaultStable error envelope; messages are not localization keys.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。
  • 409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。

↑ 回到列表

DELETE /v1/node-line-groups/{id}

软删除线路组并保留不可变修订历史

operationId
deleteNodeLineGroup
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

契约没有单独标注权限码,权限要求见下方说明与 403 响应。

说明(契约原文)

租户会话删除自身作用域线路组;平台会话未指定 target_scope_id 时删除本主控平台作用域线路组,显式指定租户作用域时返回 403。删除后列表、当前详情、历史详情、探测与新拓扑快照入口均不可见;同一幂等键可重放。

参数

deleteNodeLineGroup 参数
名称位置类型必填说明
idpathstring(uuid)是—
target_scope_idquerystring(uuid)否Tenant credentials may omit this value or repeat their own scope. Platform Bearer credentials omit it to target the platform scope; an explicit tenant scope is allowed only on read or decision operations.
If-Matchheaderstring是Single quoted positive decimal current revision, for example "3".
Idempotency-Keyheaderstring是—
X-Request-IDheaderstring是—

响应

deleteNodeLineGroup 响应
状态码说明
204Soft deletion completed or the stored result was replayed.
400Stable error envelope; messages are not localization keys.
401Stable error envelope; messages are not localization keys.
403Stable error envelope; messages are not localization keys.
404Stable error envelope; messages are not localization keys.
409Stable error envelope; messages are not localization keys.
defaultStable error envelope; messages are not localization keys.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。
  • 401 检查凭据格式、是否过期或被轮换。
  • 403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。
  • 404 资源不存在或不属于当前租户。
  • 409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。

↑ 回到列表

POST /v1/node-line-groups/{id}/decisions

计算可审计的区域健康调度决策

operationId
decideNodeLineGroupEndpoint
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

契约没有单独标注权限码,权限要求见下方说明与 403 响应。

参数

decideNodeLineGroupEndpoint 参数
名称位置类型必填说明
idpathstring(uuid)是—
target_scope_idquerystring(uuid)否Tenant credentials may omit this value or repeat their own scope. Platform Bearer credentials omit it to target the platform scope; an explicit tenant scope is allowed only on read or decision operations.
X-Request-IDheaderstring是—

请求体

application/json · 必填:是

decideNodeLineGroupEndpoint 请求体
名称类型必填说明
selectorSelector是—
requested_modestring: weighted_baseline / weighted_rendezvous / p2c_least_loaded是—
stable_keystring是—

响应

decideNodeLineGroupEndpoint 响应
状态码说明
200Deterministic selection with auditable reason and fallback state.

字段:endpoint: Endpoint requested_mode: string: weighted_baseline / weighted_rendezvous / p2c_least_loaded effective_mode: string: weighted_baseline / weighted_rendezvous / p2c_least_loaded reason: string: baseline_weighted_selected / weighted_rendezvous_selected / p2c_least_loaded_selected / telemetry_insufficient / telemetry_stale_fallback / telemetry_unavailable_fallback / single_candidate_fallback / no_healthy_endpoint fallback: boolean priority: integer candidates: array<Endpoint> standby: array<Endpoint> snapshot: DecisionSnapshot

400Stable error envelope; messages are not localization keys.
defaultStable error envelope; messages are not localization keys.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。

↑ 回到列表

POST /v1/node-line-groups/{id}/platform-default

设为或取消平台默认线路组

operationId
setNodeLineGroupPlatformDefault
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

契约没有单独标注权限码,权限要求见下方说明与 403 响应。

说明(契约原文)

只限平台作用域普通线路组;设为默认会取消原默认。不推进线路组修订。没选套餐的网站用它冻结 CNAME 目标 IP。

参数

setNodeLineGroupPlatformDefault 参数
名称位置类型必填说明
idpathstring(uuid)是—
Idempotency-Keyheaderstring是—
X-Request-IDheaderstring是—

请求体

application/json · 必填:是

setNodeLineGroupPlatformDefault 请求体
名称类型必填说明
is_platform_defaultboolean是—

响应

setNodeLineGroupPlatformDefault 响应
状态码说明
200Current line group with the new platform default flag.

字段:group: LineGroupRevision

400Stable error envelope; messages are not localization keys.
403Stable error envelope; messages are not localization keys.
404Stable error envelope; messages are not localization keys.
defaultStable error envelope; messages are not localization keys.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。
  • 403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。
  • 404 资源不存在或不属于当前租户。

↑ 回到列表

GET /v1/node-line-groups/{id}/revisions/{revision}

查询线路组历史修订

operationId
getNodeLineGroupRevision
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

契约没有单独标注权限码,权限要求见下方说明与 403 响应。

参数

getNodeLineGroupRevision 参数
名称位置类型必填说明
idpathstring(uuid)是—
revisionpathinteger(int64)是—
target_scope_idquerystring(uuid)否Tenant credentials may omit this value or repeat their own scope. Platform Bearer credentials omit it to target the platform scope; an explicit tenant scope is allowed only on read or decision operations.

响应

getNodeLineGroupRevision 响应
状态码说明
200Historical immutable revision.

字段:id: string(uuid) display_id: string tenant_scope_id: string(uuid) revision: integer(int64) name: string region: string resolved_value: string ipv4_resolved_value: string l2_config_id: string(uuid) | null(uuid) failover_mode: string: primary_offline / online_less_than_backup_count note: string sort_order: integer(int32) health_policy: HealthPolicy endpoints: array<Endpoint> statistics?: LineGroupStatistics configuration_digest: string created_by_user_id: string(uuid) created_at: string(date-time) sealed_at: string(date-time) is_platform_default?: boolean backup_states?: array<LineBackupState>

400Stable error envelope; messages are not localization keys.
defaultStable error envelope; messages are not localization keys.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。

↑ 回到列表

POST /v1/node-line-groups/{id}/rollback

将历史配置复制为新的当前修订

operationId
rollbackNodeLineGroup
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

契约没有单独标注权限码,权限要求见下方说明与 403 响应。

参数

rollbackNodeLineGroup 参数
名称位置类型必填说明
idpathstring(uuid)是—
target_scope_idquerystring(uuid)否Tenant credentials may omit this value or repeat their own scope. Platform Bearer credentials omit it to target the platform scope; an explicit tenant scope is allowed only on read or decision operations.
If-Matchheaderstring是Single quoted positive decimal current revision, for example "3".
Idempotency-Keyheaderstring是—
X-Request-IDheaderstring是—

请求体

application/json · 必填:是

rollbackNodeLineGroup 请求体
名称类型必填说明
source_revisioninteger(int64)是—

响应

rollbackNodeLineGroup 响应
状态码说明
200Historical configuration copied into current revision plus one.

字段:group: LineGroupRevision replayed: boolean

400Stable error envelope; messages are not localization keys.
409Stable error envelope; messages are not localization keys.
defaultStable error envelope; messages are not localization keys.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。
  • 409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。

↑ 回到列表

GET /v1/node-line-groups/{id}/target-snapshots

按来源修订查询 L1/L2 拓扑快照

operationId
getNodeLineGroupTargetSnapshot
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

契约没有单独标注权限码,权限要求见下方说明与 403 响应。

参数

getNodeLineGroupTargetSnapshot 参数
名称位置类型必填说明
idpathstring(uuid)是—
source_revisionqueryinteger(int64)是Single positive decimal source line-group revision.
target_scope_idquerystring(uuid)否Tenant credentials may omit this value or repeat their own scope. Platform Bearer credentials omit it to target the platform scope; an explicit tenant scope is allowed only on read or decision operations.

响应

getNodeLineGroupTargetSnapshot 响应
状态码说明
200Immutable L1 target set bound to the requested L2 source revision.

字段:id: string(uuid) revision: integer(int64) tenant_scope_id: string(uuid) source_line_group_id: string(uuid) source_revision: integer(int64) source_configuration_digest: string node_set_digest: string node_ids: array<string(uuid)>

400Stable error envelope; messages are not localization keys.
403Stable error envelope; messages are not localization keys.
404Stable error envelope; messages are not localization keys.
defaultStable error envelope; messages are not localization keys.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。
  • 403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。
  • 404 资源不存在或不属于当前租户。

↑ 回到列表

POST /v1/node-line-groups/{id}/target-snapshots

创建 L1 目标与 L2 候选拓扑快照

operationId
createNodeLineGroupTargetSnapshot
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

契约没有单独标注权限码,权限要求见下方说明与 403 响应。

参数

createNodeLineGroupTargetSnapshot 参数
名称位置类型必填说明
idpathstring(uuid)是—
target_scope_idquerystring(uuid)否Tenant credentials may omit this value or repeat their own scope. Platform Bearer credentials omit it to target the platform scope; an explicit tenant scope is allowed only on read or decision operations.
Idempotency-Keyheaderstring是—
X-Request-IDheaderstring是—

请求体

application/json · 必填:是

createNodeLineGroupTargetSnapshot 请求体
名称类型必填说明
source_revisioninteger(int64)是—
node_idsarray<string(uuid)>是L1 target nodes. Every target has an edge to every L2 endpoint node in the source revision.

响应

createNodeLineGroupTargetSnapshot 响应
状态码说明
201Immutable L1 target set bound to an immutable L2 source revision.

字段:id: string(uuid) revision: integer(int64) tenant_scope_id: string(uuid) source_line_group_id: string(uuid) source_revision: integer(int64) source_configuration_digest: string node_set_digest: string node_ids: array<string(uuid)>

400Stable error envelope; messages are not localization keys.
defaultStable error envelope; messages are not localization keys.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。

↑ 回到列表