Перейти к основному содержимому

Start a durable RSVP-TE group operation

POST
/tasks/{id}/rsvp/batch/start

Saves 1-64 members before dispatch and returns 202. Ordinary groups send Start, Stop, PCEP delegation, guarded MBB or periodic MBB once. leaf-pair-prune/graft preflight exactly one primary and detour P2MP tree, then dispatch in a safe order; a failed or uncertain first action leaves the second not-sent. path-apply carries distinct per-LSP Path members; topology-apply carries complete creates or receipt-guarded deletes. mixed-apply can combine Path, topology and per-agent stream create/delete members (64 total); stream deletes run first, then Path, topology and stream creates. Each stream member supplies its own task-owned agent and runtime generation. The parent persists each child only after native receipt and profile CAS. A lost reply is recovered by query; an interrupted Core never resends a mutation. Explicit resume copies only a proven unsent suffix.

Контракт

Параметр
Значение
Разделtasks
АвторизацияCookieAuth
Принимаетapplication/json
Возвращаетapplication/json

Параметры

2 параметров

Имя
Где
Обязательный
Тип
Описание
idpathдаintegerCanonical positive task ID
requestbodyдаobjectAgent, operation ID, profile revision, action, up to 64 identities or Path/topology/stream members, and action options; at most 64 KiB
  • {
      "action": "start",
      "admin-members": [
        {
          "enabled": true,
          "identity": {
            "accept-detour": true,
            "endpoint": "<string>",
            "ext-tunnel-id": "<string>",
            "instance": 0,
            "kind": "p2p",
            "lsp-id": 0,
            "p2mp-id": 0,
            "send-detour": true,
            "sender": "<string>",
            "tunnel-id": 0
          },
          "ingress": true
        }
      ],
      "agent": "<string>",
      "expected-profile-revision": "<string>",
      "identities": [
        {
          "accept-detour": true,
          "endpoint": "<string>",
          "ext-tunnel-id": "<string>",
          "instance": 0,
          "kind": "p2p",
          "lsp-id": 0,
          "p2mp-id": 0,
          "send-detour": true,
          "sender": "<string>",
          "tunnel-id": 0
        }
      ],
      "operation-id": "<string>",
      "options": {},
      "path-members": [
        {
          "identity": {
            "accept-detour": true,
            "endpoint": "<string>",
            "ext-tunnel-id": "<string>",
            "instance": 0,
            "kind": "p2p",
            "lsp-id": 0,
            "p2mp-id": 0,
            "send-detour": true,
            "sender": "<string>",
            "tunnel-id": 0
          },
          "mbb": {
            "expected-mbb-attempts": 0,
            "lsp-id-end": 0,
            "lsp-id-start": 0,
            "new-lsp-id": 0,
            "retire-delay-ms": 0,
            "setup-timeout-ms": 0,
            "switch-delay-ms": 0
          },
          "path": {}
        }
      ],
      "runtime-generation": "<string>",
      "stream-members": [
        {
          "action": "create",
          "agent": "<string>",
          "expected-create-operation-id": "<string>",
          "flow-id": 0,
          "identity": {
            "accept-detour": true,
            "endpoint": "<string>",
            "ext-tunnel-id": "<string>",
            "instance": 0,
            "kind": "p2p",
            "lsp-id": 0,
            "p2mp-id": 0,
            "send-detour": true,
            "sender": "<string>",
            "tunnel-id": 0
          },
          "rsvp-wire-flow-id": 0,
          "runtime-generation": "<string>",
          "stream": {},
          "stream-name": "<string>"
        }
      ],
      "topology-members": [
        {
          "action": "create",
          "expected-create-operation-id": "<string>",
          "identity": {
            "accept-detour": true,
            "endpoint": "<string>",
            "ext-tunnel-id": "<string>",
            "instance": 0,
            "kind": "p2p",
            "lsp-id": 0,
            "p2mp-id": 0,
            "send-detour": true,
            "sender": "<string>",
            "tunnel-id": 0
          },
          "lsp": {}
        }
      ]
    }

Ответы

8 ответов

Статус
Описание
Тип
202
Persisted operationobject
400
Invalid request or identityobject
401
Session requiredobject
403
Agent not registered for this taskobject
404
Task not foundobject
409
Task, profile or operation conflictobject
500
Database failureobject
502
Invalid registered agent addressobject
  • {
      "action": "<string>",
      "agent": "<string>",
      "created-at": "<string>",
      "cursor": 0,
      "members": [
        {
          "agent": "<string>",
          "child-operation-id": "<string>",
          "identity": {},
          "mode": "<string>",
          "observed-at": "<string>",
          "phase": "<string>",
          "reason": "<string>",
          "runtime-generation": "<string>",
          "status": "<string>"
        }
      ],
      "operation-id": "<string>",
      "profile-revision": "<string>",
      "resume-of": "<string>",
      "status": "<string>",
      "task-id": 0,
      "terminal": true,
      "updated-at": "<string>"
    }
  • {
      "data": {},
      "error": "<string>"
    }
  • {
      "data": {},
      "error": "<string>"
    }
  • {
      "data": {},
      "error": "<string>"
    }
  • {
      "data": {},
      "error": "<string>"
    }
  • {
      "data": {},
      "error": "<string>"
    }
  • {
      "data": {},
      "error": "<string>"
    }
  • {
      "data": {},
      "error": "<string>"
    }