Python models

Generated from eve-iac OpenAPI/semantics. Do not edit manually.

Every public OpenAPI component schema plus generated query types.

Model Kind
LooseObject object
ValidateData object
ValidationError object
BulkResult object
ExportConfigRequest allOf
ExportConfigNode object
ExportConfigData object
LinkImpairment object
PublicLinkEndpoint object
PublicLinkMatch object
LinkQualityData object
LinkSuspendTarget object
LinkSuspendData object
CaptureData object
TrafficAttachData object
SuccessEnvelope object
ErrorEnvelope object
LoginRequest object
LogoutRequest object
ProjectPayload object
AuthoringPayload object
ConsoleWriteMode enum
ConsolePayload object
ConsoleRunStep object
ConsoleTarget object
HealthData object
LoginData object
StatusOkData object
SessionData object
CapabilitiesData object
ProjectModeCaps object
LifecycleCaps object
Template object
TemplateDetail object
TemplateImage object
TemplateAttribute object
TemplatesData object
DeviceFamily enum
TemplateFamily object
TemplateCatalogData object
TemplateImagesData object
TemplateAttributesData object
NetworkType object
NetworkTypesData object
NetworkAuthoring object
Icon object
IconsData object
AuthoringRevisionData object
AuthoringSnapshotData object
ClusterMember object
FolderEntry object
FoldersData object
Iface object
InterfacesData object
ImportData object
DeployData object
PlanSummary object
PlanAction object
PlanData object
ReconcileStep object
ReconcileData object
DestroyData object
ProjectStatusData object
ProjectLiveStatus object
RuntimeNode object
InspectionData object
AppliedNetem object
AppliedNetemIface object
InspectIface object
InspectNode object
PublicData object
SchemaRequest object
SchemaData object
EditRequest allOf
EditOperation object
EditChanged object
EditResult object
ConfigReadRequest allOf
ConfigIndexEntry object
ConfigSearchMatch object
ConfigSearchNode object
ConfigData object
ConfigEditRequest allOf
ConfigEditOp object
ConfigChanged object
ConfigEditData object
OpenData object
ConsoleRecord object
ConsolesData object
ConsoleExecData object
ConsoleExecManyData object
ConsoleAttachData object
OobNode object
OobStatusData object
OobCredentialsData object
OobOpenData object
ConsoleSessionData object
ConsoleSessionListData object
ConsoleHistoryData object
ConsoleWaitData object
ConsoleRunStepResult object
ConsoleRunData object
ListTemplatesQuery object
ListFoldersQuery object
GetPublicSchemaRequest ref
CompleteLinkInterfacesRequest ref
PreviewInterfacesRequest ref
ValidateProjectRequest ref
ImportProjectRequest object
DeployProjectRequest ref
PlanProjectRequest ref
ReconcileProjectRequest ref
DestroyProjectRequest ref
GetProjectStatusRequest ref
InspectProjectRequest ref
GetPublicProjectRequest ref
EditProjectRequest ref
GetProjectConfigRequest ref
EditProjectConfigRequest ref
OpenProjectRequest ref
ListProjectConsolesRequest ref
ExecProjectRequest object
ExportProjectConfigRequest ref
ApplyLinkQualityRequest object
SetLinkSuspendRequest object
StartCaptureRequest object
AttachTrafficRequest ref
ExecConsoleRequest ref
ExecConsoleManyRequest ref
AttachConsoleRequest ref
CreateConsoleSessionRequest ref
ListConsoleSessionsRequest ref
GetConsoleSessionRequest ref
CloseConsoleSessionRequest ref
GetConsoleHistoryRequest ref
WaitConsoleRequest ref
RunConsoleRequest ref
StartOobRequest ref
GetOobStatusRequest ref
GetOobCredentialsRequest ref
StopOobRequest ref
OpenOobRequest ref

Direction is Literal["to_eve", "from_eve"]. ProjectPayload.direction on the wire is still a free string.

LooseObject

Type: Mapping[str, Any]

ValidateData

Global structured validation of the complete topology. HTTP 200 with valid=false is a successful validate call that found errors. Do not parse message; use path and code.

Field Python type Required Semantics
valid bool yes
errors list[ValidationError] yes

Used by: validateProject

ValidationError

One machine-repairable topology error. Path uses dotted public-model notation (nodes.core_r1.attributes.cpu, links[3].endpoints[1].interface). Never mixed with JSON Pointer.

Field Python type Required Semantics
path str yes
code str yes
value Any no
expected Mapping[str, Any] no
message str no

BulkResult

Field Python type Required Semantics
requested int yes
started int yes
already_running int yes
already_starting int yes
stopped int yes
already_stopped int yes
wiped int yes
failed int yes
invalid int yes

Used by: execProject

ExportConfigRequest

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str yes exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

Used by: exportProjectConfig

ExportConfigNode

One node. status is exported, skipped, or failed. selector_restore_failed is set when the temporary config selector could not be put back. Both can be present.

Field Python type Required Semantics
key str no IaC node key when the node is mapped.
id int no Native EVE node id.
status Literal["exported", "skipped", "failed"] yes
code str no EVE message id such as 80084 or 80061, or unknown_node.
selector_restore_failed bool no

ExportConfigData

Per-node export into one existing startup-config set. Does not change topology.yml or configs/**. A failed node does not undo nodes already exported.

Field Python type Required Semantics
lab str yes
configset str yes
nodes list[ExportConfigNode] yes

Used by: exportProjectConfig

LinkImpairment

One direction of ethernet NETEM. Omitted object or omitted fields are EVE zeros (no delay/loss/jitter, unlimited bandwidth). Sending applyLinkQuality with omitted impairments clears live NETEM on that side. Not presentation.

Field Python type Required Semantics
delay int no
jitter int no
loss int no
bandwidth int no

Used by: applyLinkQuality

PublicLinkEndpoint

Public YAML identity. {node, interface} or {network}. Never native EVE numeric ids.

Field Python type Required Semantics
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
interface str no
network str no

PublicLinkMatch

Live link identity in public YAML shape. endpoints[0] is source for source_impairment and side=source even when CanonicalLink sorts. vlan omitted/0/1 is the untagged default.

Field Python type Required Semantics
endpoints list[PublicLinkEndpoint] yes
vlan int no

Used by: applyLinkQuality, setLinkSuspend

LinkQualityData

Interaction apply result. persisted is true only when save was true. topology.yml is never written. EVE writes the UNL only for an admin session on an unlocked lab.

Field Python type Required Semantics
applied bool yes
persisted bool yes
match PublicLinkMatch no

Used by: applyLinkQuality

LinkSuspendTarget

Field Python type Required Semantics
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
interface str no

LinkSuspendData

Runtime TAP suspend/resume. Never a topology.yml field.

Field Python type Required Semantics
applied bool yes
suspended bool yes
side str no
match PublicLinkMatch no
targets list[LinkSuspendTarget] no

Used by: setLinkSuspend

CaptureData

HTML5 Guacamole URL on the agent origin. evecapture:// is never returned.

Field Python type Required Semantics
node str yes omitted: all nodes. empty string: all nodes. named: that IaC node key
interface str yes
url str yes

Used by: startCapture

TrafficAttachData

One-time eve-traffic upgrade. stream is /api/v1/projects/traffic/stream/{ticket}.

Field Python type Required Semantics
stream str yes
transport str yes

Used by: attachTraffic

SuccessEnvelope

Field Python type Required Semantics
ok bool yes
data Any no
error str no
code str no

ErrorEnvelope

Field Python type Required Semantics
ok bool yes
error str no
code str no
data Any no

LoginRequest

Field Python type Required Semantics
username str yes
password str yes

Used by: login

LogoutRequest

Type: Mapping[str, Any]

Used by: logout

ProjectPayload

decodeProject body. Unknown fields are ignored. dir/out non-empty are rejected. Do not treat omitted optional fields as serialized defaults.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

Used by: validateProject, importProject, deployProject, planProject, reconcileProject, destroyProject, getProjectStatus, inspectProject, getPublicProject, openProject, listProjectConsoles, execProject, applyLinkQuality, setLinkSuspend, startCapture, attachTraffic, startOob, getOobStatus, getOobCredentials, stopOob, openOob

AuthoringPayload

Field Python type Required Semantics
dir str no Rejected when non-empty.
yaml str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
template str no
attributes Mapping[str, Any] no
excludeUsed bool no
eth_format str no

Used by: completeLinkInterfaces, previewInterfaces

ConsoleWriteMode

observe: read-only (agent rejects writes). interact: multiple writers. exclusive: single writer owner; no steal in v1.

Enum values: observe, interact, exclusive

ConsolePayload

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
manifest str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
command str no
commands list[str] no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets list[ConsoleTarget] no
session_id str no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern str no Go regexp for waitConsole.
max_bytes int no Bounded history tail for getConsoleHistory.
steps list[ConsoleRunStep] no
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

Used by: execConsole, execConsoleMany, attachConsole, createConsoleSession, listConsoleSessions, getConsoleSession, closeConsoleSession, getConsoleHistory, waitConsole, runConsole

ConsoleRunStep

Field Python type Required Semantics
expect str no
send str no Omit property for no send. Present empty string for RETURN.
send_secret str no Secret send; never returned in responses or samples.
timeout_ms int no

ConsoleTarget

Field Python type Required Semantics
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
command str no

HealthData

Field Python type Required Semantics
status str no
tls bool no
version str no

Used by: getHealth

LoginData

Field Python type Required Semantics
token str no
username str no

Used by: login

StatusOkData

Field Python type Required Semantics
status str no

Used by: logout

SessionData

Field Python type Required Semantics
username str no

Used by: getSession

CapabilitiesData

Field Python type Required Semantics
eveReachable bool no
eveBaseUrl str no
features dict[str, bool] no
projectModes dict[str, ProjectModeCaps] no

Used by: getCapabilities

ProjectModeCaps

Field Python type Required Semantics
inspect bool no
open bool no
console bool no
lifecycle LifecycleCaps no
topology_mutation bool no
reconcile bool no
destroy bool no
presentation_restore bool no
source_mutation bool no

LifecycleCaps

Field Python type Required Semantics
start bool no
stop bool no
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)

Template

Field Python type Required Semantics
id str no
description str no
type str no
provisioned bool no
configSupported bool no

TemplateDetail

Field Python type Required Semantics
id str no
description str no
type str no
provisioned bool no
configSupported bool no
icon str no
images list[TemplateImage] no
default str no
image_requirement Literal["required", "optional", "not_applicable"] no
attributes list[TemplateAttribute] no

Used by: getTemplate

TemplateImage

Field Python type Required Semantics
id str no
available bool no

TemplateAttribute

Field Python type Required Semantics
name str no
label str no
kind str no
group str no
required bool no
default Any no
values list[str] no
min Any no
max Any no

TemplatesData

Field Python type Required Semantics
templates list[Template] no

Used by: listTemplates

DeviceFamily

Presentation family for a template. The agent normalizes a missing, empty, or unknown value to other before this response.

Enum values: router, switchL2, switchL3, firewall, appliance, server, desktop, other

TemplateFamily

One template in the presentation catalog. description is copied from EVE, including .missing and .hided suffixes.

Field Python type Required Semantics
description str yes
device_family DeviceFamily yes

TemplateCatalogData

GET /api/v1/templates/catalog data. Not a project and not a node. Do not write it into topology.yml.

Field Python type Required Semantics
templates dict[str, TemplateFamily] yes

Used by: getTemplateCatalog

TemplateImagesData

Field Python type Required Semantics
template str no
type str no
provisioned bool no
default str no
images list[TemplateImage] no

Used by: listTemplateImages

TemplateAttributesData

Field Python type Required Semantics
template str no
type str no
attributes list[TemplateAttribute] no

Used by: listTemplateAttributes

NetworkType

Field Python type Required Semantics
id str no
label str no
icon str no
supported bool no

NetworkTypesData

Field Python type Required Semantics
types list[NetworkType] no
natOnly bool no

Used by: listNetworkTypes

NetworkAuthoring

Field Python type Required Semantics
id str no
label str no
icon str no
supported bool no
attributes list[TemplateAttribute] no

Used by: getNetworkAuthoring

Icon

Field Python type Required Semantics
id str no
label str no

IconsData

Field Python type Required Semantics
icons list[Icon] no

Used by: listIcons

AuthoringRevisionData

Lowercase SHA-256 of the canonical authoring snapshot JSON, excluding the revision field itself. iconsRevision is present after the icon zip has been built and is the SHA-256 of those zip bytes.

Field Python type Required Semantics
revision str yes
iconsRevision str no

Used by: getAuthoringRevision

AuthoringSnapshotData

Process-memoized static authoring metadata. Icon file bytes are not included.

Field Python type Required Semantics
revision str yes
templates list[TemplateDetail] yes
catalog TemplateCatalogData yes
networkTypes NetworkTypesData yes
networks list[NetworkAuthoring] yes
icons list[Icon] yes
netIcons list[Icon] yes
cluster list[ClusterMember] no GET /api/cluster members loaded with the authoring snapshot. id is the sat key stored in topology.yml. name is the label shown in the node form. -1 any and 0 local are added by the form when absent.

Used by: getAuthoringSnapshot

ClusterMember

Field Python type Required Semantics
id int yes Satellite id. 0 is the master. N > 0 is cluster.id.
name str yes

FolderEntry

Field Python type Required Semantics
name str no
path str no
lock bool no Listing lock hint only. GET lab.lock is authoritative.

FoldersData

Field Python type Required Semantics
path str no
parent str no Parent folder path. Empty at labs root.
folders list[FolderEntry] no
labs list[FolderEntry] no

Used by: listFolders

Iface

One predicted interface. name is the authoring value. type may mix ethernet and serial in one list. used is node-mode only.

Field Python type Required Semantics
name str no
type str no ethernet or serial. Per-item; not factored.
used bool no Present in node completions. Omitted on template preview.

InterfacesData

Self-contextualized interface prediction. source/template/node are response-level resolved scope. items hold only varying fields. Native EVE if-index is not public.

Field Python type Required Semantics
source Literal["template", "node"] no Whether this result is a template preview or an existing IaC node.
template str no Canonical resolved template id.
node str no IaC node key when source=node. omitted: all nodes. empty string: all nodes. named: that IaC node key
items list[Iface] no

Used by: completeLinkInterfaces, previewInterfaces

ImportData

Field Python type Required Semantics
name str no
yaml str no
files dict[str, str] no
mode str no
source_lab str no
managed_lab str no
lab str no
state Any no
source Any no

Used by: importProject

DeployData

Field Python type Required Semantics
lab str no
nodes int no
links int no
state Any no
unsupported list[str] no

Used by: deployProject

PlanSummary

Field Python type Required Semantics
creates int no
updates int no
deletes int no
blocked int no

PlanAction

Field Python type Required Semantics
op str no
kind str no
key str no
side str no
direction str no omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
type str no
path str no Public dotted path when useful (nodes.r1.attributes.cpu). Never a filesystem path.
classification Literal["live_applicable", "requires_stop", "unsupported"] no Provider-independent. applicable is true iff classification is live_applicable.
applicable bool no Derived per-action: true iff classification is live_applicable. Does not authorize EVE writes when the same plan contains an unsupported action.
reason str no
resolution str no
stop_nodes list[str] no IaC logical keys only. Never native EVE ids.
obligations list[str] no Ordered contract obligations (stop, wipe, put, destroy_node_links, rebuild_available_links, drop_orphan_links, start, …).
result str no What is true after obligations apply (applied_live, node_restarted, config_activated, links_rebuilt, orphans_dropped).
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned

PlanData

Field Python type Required Semantics
lab str no
exists bool no
summary PlanSummary no
operations list[PlanAction] no
actions list[PlanAction] no
applicable bool no
blocked list[PlanAction] no
text str no
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
locked bool no
lock int no
direction str no omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
unsupported list[str] no

Used by: planProject

ReconcileStep

One reconcile side effect. No native ids and no config bodies.

Field Python type Required Semantics
op str no
kind str no
key str no
type str no
detail str no
effect Literal["applied", "failed", "skipped", "pending_stop"] no
error str no

ReconcileData

Compact reconcile summary. No YAML/config bodies, no native ids. applicable is a summary of immediate full convergence and must not gate execution.

Field Python type Required Semantics
lab str no
direction str no omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
status Literal["converged", "partial", "pending_stop", "failed"] no
applied int no
skippedPrune int no
fullDeploy bool no
applicable bool no Summary only: full immediate convergence is possible (no requires_stop, no unsupported, not locked). Must not gate execution.
desired_updated bool no
live Mapping[str, Any] no
requires_stop Mapping[str, Any] no
unsupported Mapping[str, Any] no Object {changes, messages} on reconcile. Plan still uses string[].
runtime Mapping[str, Any] no
summary PlanSummary no
operations list[PlanAction] no The plan that was considered. Classification is not proof that a call was sent.
executed list[ReconcileStep] no Side effects this reconcile actually performed or refused. effect is applied, failed, skipped, or pending_stop.
text str no Human-readable execution report. Same facts as executed.
blocked list[PlanAction] no
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
state Any no
yaml str no
files dict[str, str] no
source Any no
manifest str no

Used by: reconcileProject

DestroyData

Field Python type Required Semantics
lab str no

Used by: destroyProject

ProjectStatusData

Field Python type Required Semantics
mode str no
source_lab str None no
managed_lab str None no
runtime_lab str None no
capabilities ProjectModeCaps no
locked bool no
lock int no
live ProjectLiveStatus no

Used by: getProjectStatus

ProjectLiveStatus

Lightweight live read from GET nodes/status when a runtime lab exists. Omitted when there is no runtime lab. Not a lab snapshot and not YAML intent. available false omits nodes and netem. A missing netem side is 0,0,0,0 and is omitted.

Field Python type Required Semantics
available bool no
joined bool no True when native ids are named from packed state.node_ids, or as n_ in load mode.
nodes list[RuntimeNode] no Present when available is true. Empty array means the lab has no nodes.
netem AppliedNetem no
error str no Present when available is false. The runtime query failed.

RuntimeNode

One live node from GET nodes/status. Not an inspection row.

Field Python type Required Semantics
key str no Logical IaC node key when joined. Empty when unmapped on a managed project. n_ only in load mode.
id int no Native EVE node id.
state int no
state_label str no
mapped bool no

InspectionData

Live/runtime observation. Not the desired topology.yml tree. Node key is a current repo/state identity join (logical IaC key when mapped). Native id is runtime metadata only. Use getPublicProject for public IaC JSON.

Field Python type Required Semantics
observation bool no
desired_state bool no
mode str no
source_lab Any no
managed_lab Any no
runtime_lab str no
capabilities ProjectModeCaps no
cached bool no
nodes list[InspectNode] no
netem AppliedNetem no

Used by: inspectProject

AppliedNetem

Native node id → native interface id → applied sides. Not topology.yml. A missing side is 0,0,0,0 and is omitted.

Type: dict[str, dict[str, AppliedNetemIface]]

AppliedNetemIface

One interface. source is outbound from that interface. destination is the return toward that interface. A missing side is 0,0,0,0 and is omitted. A present side has at least one non-zero number.

Field Python type Required Semantics
source LinkImpairment no
destination LinkImpairment no

InspectIface

One interface of a fully inspected node. id is the native EVE interface id used by AppliedNetem.

Field Python type Required Semantics
id int no
name str no
type str no
network str no

InspectNode

One live node. key is the current logical IaC identity when mapped is true. id is the native EVE node id. Unmapped managed nodes omit key and never use n_ as a durable identity.

Field Python type Required Semantics
key str no Logical IaC node key when mapped. Omitted when unmapped on a managed project. LOAD_FALLBACK n_ only in load mode.
id int no Native EVE node id. Runtime metadata only.
mapped bool no True when id uniquely joins to a current repository node key via packed state.node_ids.
name str no
template str no
state int no
state_label str no
interfaces list[InspectIface] no Present on a full inspection. id joins AppliedNetem. A runtime poll keeps these rows from the last full inspection.

PublicData

Canonical public IaC JSON isomorphic to topology.yml or eve-presentation.yml. Maps stay objects. When presentation is absent: {present: false}. Never includes Internal bindings or runtime state.

Type: Mapping[str, Any]

Used by: getPublicProject

SchemaRequest

Lazy public schema projection. sections is required, minItems 1. Unknown or empty sections fail the whole request. Omitted sections never means return everything. No all=true.

Field Python type Required Semantics
sections list[Literal["nodes", "networks", "links", "traffic_filters", "tasks", "configsets"]] yes

Used by: getPublicSchema

SchemaData

One SHA-256 revision of the embedded canonical schema plus a request-order map of self-contained JSON Schema (draft 2020-12) fragments. Each fragment includes $schema and a closed local $defs. Not lab data and not live EVE capabilities.

Field Python type Required Semantics
revision str yes Lowercase hex SHA-256 of the exact embedded canonical schema bytes. Same value for every fragment in the response.
sections Mapping[str, Any] yes Map keyed by requested section name, preserving request order. Values are JSON Schema documents, not a compact DTO.

Used by: getPublicSchema

EditRequest

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.
operations list[EditOperation] yes Bounded canonical mutations applied as one in-memory transaction. Not RFC 6902 JSON Patch.

Used by: editProject, editProjectConfig

EditOperation

One bounded public-tree mutation using the same semantic model as topology.yml. Never includes Internal or native EVE ids.

Field Python type Required Semantics
op Literal["add", "update", "delete"] yes
section Literal["nodes", "networks", "links", "traffic_filters", "tasks", "configsets"] yes
key str no Exact IaC map key. Required for nodes, networks, traffic_filters, tasks, configsets.
match Mapping[str, Any] no Exact canonical link object for links update/delete. Deep equality, not fuzzy.
value Any no Canonical public JSON object for add.
patch Mapping[str, Any] no Recursive object merge for update. Arrays replace wholly. Omitted fields stay.
remove list[str] no RFC 6901 JSON Pointers relative to the selected object. Omitted means no field removal.

EditChanged

Compact keys/counts of objects touched by a successful batch. Not the object values.

Field Python type Required Semantics
nodes list[str] no
networks list[str] no
links int no
traffic_filters list[str] no
tasks list[str] no
configsets list[str] no

EditResult

Compact edit result. HTTP 200 with applied=false is a successful call that found structural or validation errors; topology.yml is not written. yaml is a persist sidecar for clients and is omitted from MCP model output.

Field Python type Required Semantics
applied bool yes
operations int yes
changed EditChanged no
valid bool yes
errors list[ValidationError] yes
yaml str no Canonical topology.yml after a successful edit. Clients persist it locally. MCP strips this field from the model-visible result. Never an Internal/native dump.
repairs list[EditOperation] no Deterministic closures the agent added to a node or network delete in this same transaction. Omitted when the requested operations were already coherent. Clients do not compute or replay these operations.

Used by: editProject

ConfigReadRequest

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.
operation Literal["index", "get", "search"] yes Discriminates the read. Not OpenAPI oneOf.
template str no Exact template id filter for index/search.
present bool no index only. true = blobs present, false = missing. Omitted = both.
query str no search only. Literal substring. Required. Max 256 characters. Empty is invalid_request.
case_sensitive bool no search only. Omitted = case-insensitive.
limit int no search only. Total match hits, not configs. Omitted = 20. Max 50. No OpenAPI default.
context_lines int no search only. Neighbor lines around each hit. Omitted = 0. Max 3. No OpenAPI default.

Used by: getProjectConfig

ConfigIndexEntry

One node in a startup-config index. Paths are never included. sha256 is omitted only when present is false. Empty blobs (present=true, bytes=0) include sha256 of zero bytes.

Field Python type Required Semantics
template str yes
configset str yes
present bool yes
bytes int no
sha256 str no

ConfigSearchMatch

One literal substring hit. line is 1-based. text is the matching line without its terminator. before/after exist only when context_lines > 0.

Field Python type Required Semantics
line int yes
text str yes
before list[str] no
after list[str] no

ConfigSearchNode

Grouped search hits for one node. sha256 is present whenever the scanned blob is present, including empty blobs.

Field Python type Required Semantics
template str yes
configset str yes
sha256 str no
matches list[ConfigSearchMatch] yes

ConfigData

Index, get, or search SUCCESS. Discriminated by the request operation. lab is topology name:, never an EVE or IaC path. Never includes relative configs/ paths.

Field Python type Required Semantics
lab str no
scope Mapping[str, Any] no
entries dict[str, ConfigIndexEntry] no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
template str no
configset str no
present bool no
bytes int no
sha256 str no
content str no
query str no
truncated bool no
results dict[str, ConfigSearchNode] no

Used by: getProjectConfig

ConfigEditRequest

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.
operations list[ConfigEditOp] yes Preflight all, then write. Not a multi-file transaction.

Used by: editProjectConfig

ConfigEditOp

One startup-config put or delete. Node is an exact IaC key. content is required for put. expected_sha256 is compared to stored bytes; mismatch is 409 config_conflict with zero writes.

Field Python type Required Semantics
op Literal["put", "delete"] yes
node str yes omitted: all nodes. empty string: all nodes. named: that IaC node key
content str no Exact UTF-8 text for put. Preserved as submitted. Required for put. Ignored for delete.
configset str no Library override for this op. Omitted uses the node selector, then default.
expected_sha256 str no Lowercase hex SHA-256 of current stored bytes. Mismatch is config_conflict.

ConfigChanged

Post-op blob metadata. No content echo. sha256 omitted only when present is false. Empty blobs include sha256 of zero bytes.

Field Python type Required Semantics
configset str yes
present bool yes
bytes int yes
sha256 str no

ConfigEditData

Compact config-edit result. lab is topology name:. No content echo and no paths in model-visible fields. files, yaml, and deleted are persist sidecars; MCP strips them.

Field Python type Required Semantics
lab str yes
applied bool yes
operations int yes
changed dict[str, ConfigChanged] yes
files dict[str, str] no Changed blobs keyed by project-relative configs/ path. Persist sidecar. MCP strips this field.
yaml str no Canonical topology.yml when configsets or node selectors changed. Persist sidecar. MCP strips this field.
deleted list[str] no Project-relative configs/ paths to unlink. Persist sidecar. MCP strips this field.

Used by: editProjectConfig

OpenData

Field Python type Required Semantics
url str no
ttl int no
lab str no

Used by: openProject

ConsoleRecord

Field Python type Required Semantics
id int no
key str no
name str no
template str no
console str no
status int no
url str no

ConsolesData

Field Python type Required Semantics
lab str no
html5 bool no
consoles list[ConsoleRecord] no

Used by: listProjectConsoles

ConsoleExecData

Field Python type Required Semantics
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
name str no
console_type str no
command str no
output str no
duration_ms int no
timed_out bool no
truncated bool no
prompt str no
session_id str no
match str no
phase str no Interaction phase: discovering, ready, executing, paging, interactive, auth_required, error.
recovered bool no True when a missing session was reopened for this call.
rx_to int no Receive sequence of the last byte belonging to this command.

Used by: execConsole

ConsoleExecManyData

Field Python type Required Semantics
results list[Mapping[str, Any]] no

Used by: execConsoleMany

ConsoleAttachData

Field Python type Required Semantics
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
name str no
console_type str no
stream str no
transport Literal["eve-telnet"] no
session_id str no
mode ConsoleWriteMode no

Used by: attachConsole

OobNode

Field Python type Required Semantics
key str no Canonical node key. This is the SSH HostName.
name str no Display name used only to fold the Host alias.

OobStatusData

Field Python type Required Semantics
active bool no
username str no SSH username. Always eve-oob while active. HTTP does not authenticate this name.
user_public_key str no
host_public_key str no
host_fingerprint str no

Used by: startOob, getOobStatus, stopOob

OobCredentialsData

User private key and host public key for this generation. known_hosts lists the catalogue at this call. The host private key and Telnet endpoint are never included.

Field Python type Required Semantics
username str no
user_private_key str no
user_public_key str no
host_public_key str no
host_fingerprint str no
known_hosts str no
nodes list[OobNode] no

Used by: getOobCredentials

OobOpenData

Field Python type Required Semantics
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
ticket str no 64-char lowercase hex. Single use. 30s TTL. Bound to this session, project, node, and generation.
stream str no GET path for Upgrade: eve-oob.

Used by: openOob

ConsoleSessionData

Field Python type Required Semantics
session_id str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
name str no
console_type str no
mode ConsoleWriteMode no
state Literal["idle", "connecting", "open", "draining", "closed"] no
created_at str no
last_activity str no
observers int no
writers int no
owner str no Exclusive writer owner when mode is exclusive.
phase str no Interaction phase. state remains the TCP lifecycle.

Used by: createConsoleSession, getConsoleSession, closeConsoleSession

ConsoleSessionListData

Field Python type Required Semantics
sessions list[ConsoleSessionData] no

Used by: listConsoleSessions

ConsoleHistoryData

Field Python type Required Semantics
session_id str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
text str no Bounded raw console tail (UTF-8 interpretation).
truncated bool no
byte_count int no
available_bytes int no Bytes retained in the Hub ring (max 65536).
end_seq int no Receive sequence of the newest byte retained in the ring.

Used by: getConsoleHistory

ConsoleWaitData

Field Python type Required Semantics
session_id str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
matched bool no
match str no
text str no Matched snippet.
duration_ms int no
timed_out bool no
truncated bool no

Used by: waitConsole

ConsoleRunStepResult

Field Python type Required Semantics
index int no 0-based step index.
expect str no
sent str no Redacted send; secrets appear as ********.
matched str no
duration_ms int no
timed_out bool no
truncated bool no
code str no
error str no

ConsoleRunData

Field Python type Required Semantics
session_id str no
ok bool no
failed_step int no 0-based failed step index; -1 when ok.
steps list[ConsoleRunStepResult] no
transcript str no Bytes received after the sends in this run, up to the completing match.
truncated bool no
duration_ms int no
prompt str no
phase str no
rx_to int no
recovered bool no

Used by: runConsole

ListTemplatesQuery

Generated query object. Omit the whole argument to send no query string.

Field Python type Required Semantics
provisioned str no Only the string true filters to provisioned templates. Omitted means all.

Used by: listTemplates

ListFoldersQuery

Generated query object. Omit the whole argument to send no query string.

Field Python type Required Semantics
path str no EVE folder path. Omitted or empty means labs root /. Not a .unl lab path.

Used by: listFolders

GetPublicSchemaRequest

Request body alias of SchemaRequest. Same wire shape.

Alias of SchemaRequest.

Field Python type Required Semantics
sections list[Literal["nodes", "networks", "links", "traffic_filters", "tasks", "configsets"]] yes

CompleteLinkInterfacesRequest

Request body alias of AuthoringPayload. Same wire shape.

Alias of AuthoringPayload.

Field Python type Required Semantics
dir str no Rejected when non-empty.
yaml str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
template str no
attributes Mapping[str, Any] no
excludeUsed bool no
eth_format str no

PreviewInterfacesRequest

Request body alias of AuthoringPayload. Same wire shape.

Alias of AuthoringPayload.

Field Python type Required Semantics
dir str no Rejected when non-empty.
yaml str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
template str no
attributes Mapping[str, Any] no
excludeUsed bool no
eth_format str no

ValidateProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

ImportProjectRequest

Request body for importProject.

Field Python type Required Semantics
lab str yes
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

Used by: importProject

DeployProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

PlanProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

ReconcileProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

DestroyProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

GetProjectStatusRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

InspectProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

GetPublicProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

EditProjectRequest

Request body alias of EditRequest. Same wire shape.

Alias of EditRequest.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.
operations list[EditOperation] yes Bounded canonical mutations applied as one in-memory transaction. Not RFC 6902 JSON Patch.

GetProjectConfigRequest

Request body alias of ConfigReadRequest. Same wire shape.

Alias of ConfigReadRequest.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.
operation Literal["index", "get", "search"] yes Discriminates the read. Not OpenAPI oneOf.
template str no Exact template id filter for index/search.
present bool no index only. true = blobs present, false = missing. Omitted = both.
query str no search only. Literal substring. Required. Max 256 characters. Empty is invalid_request.
case_sensitive bool no search only. Omitted = case-insensitive.
limit int no search only. Total match hits, not configs. Omitted = 20. Max 50. No OpenAPI default.
context_lines int no search only. Neighbor lines around each hit. Omitted = 0. Max 3. No OpenAPI default.

EditProjectConfigRequest

Request body alias of ConfigEditRequest. Same wire shape.

Alias of ConfigEditRequest.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.
operations list[ConfigEditOp] yes Preflight all, then write. Not a multi-file transaction.

OpenProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

ListProjectConsolesRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

ExecProjectRequest

Request body for execProject.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str yes
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

Used by: execProject

ExportProjectConfigRequest

Request body alias of ExportConfigRequest. Same wire shape.

Alias of ExportConfigRequest.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str yes exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

ApplyLinkQualityRequest

Request body for applyLinkQuality.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.
match PublicLinkMatch yes
source_impairment LinkImpairment no
destination_impairment LinkImpairment no
save bool no When true, native quality save=1 persists NETEM into the UNL (admin session, unlocked lab). Omitted or false is live-only save=0. Never writes topology.yml.

Used by: applyLinkQuality

SetLinkSuspendRequest

Request body for setLinkSuspend.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.
match PublicLinkMatch yes
suspended bool yes true = native suspend; false = native resume. Required; omitted is 400 invalid_request.
side str no source, destination, or both. Omitted/empty is both. Wire-distinct from explicit both.

Used by: setLinkSuspend

StartCaptureRequest

Request body for startCapture.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str yes omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.
interface str yes Interface name on that node.

Used by: startCapture

AttachTrafficRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

ExecConsoleRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
manifest str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
command str no
commands list[str] no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets list[ConsoleTarget] no
session_id str no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern str no Go regexp for waitConsole.
max_bytes int no Bounded history tail for getConsoleHistory.
steps list[ConsoleRunStep] no
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

ExecConsoleManyRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
manifest str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
command str no
commands list[str] no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets list[ConsoleTarget] no
session_id str no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern str no Go regexp for waitConsole.
max_bytes int no Bounded history tail for getConsoleHistory.
steps list[ConsoleRunStep] no
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

AttachConsoleRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
manifest str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
command str no
commands list[str] no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets list[ConsoleTarget] no
session_id str no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern str no Go regexp for waitConsole.
max_bytes int no Bounded history tail for getConsoleHistory.
steps list[ConsoleRunStep] no
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

CreateConsoleSessionRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
manifest str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
command str no
commands list[str] no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets list[ConsoleTarget] no
session_id str no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern str no Go regexp for waitConsole.
max_bytes int no Bounded history tail for getConsoleHistory.
steps list[ConsoleRunStep] no
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

ListConsoleSessionsRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
manifest str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
command str no
commands list[str] no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets list[ConsoleTarget] no
session_id str no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern str no Go regexp for waitConsole.
max_bytes int no Bounded history tail for getConsoleHistory.
steps list[ConsoleRunStep] no
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

GetConsoleSessionRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
manifest str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
command str no
commands list[str] no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets list[ConsoleTarget] no
session_id str no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern str no Go regexp for waitConsole.
max_bytes int no Bounded history tail for getConsoleHistory.
steps list[ConsoleRunStep] no
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

CloseConsoleSessionRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
manifest str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
command str no
commands list[str] no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets list[ConsoleTarget] no
session_id str no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern str no Go regexp for waitConsole.
max_bytes int no Bounded history tail for getConsoleHistory.
steps list[ConsoleRunStep] no
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

GetConsoleHistoryRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
manifest str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
command str no
commands list[str] no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets list[ConsoleTarget] no
session_id str no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern str no Go regexp for waitConsole.
max_bytes int no Bounded history tail for getConsoleHistory.
steps list[ConsoleRunStep] no
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

WaitConsoleRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
manifest str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
command str no
commands list[str] no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets list[ConsoleTarget] no
session_id str no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern str no Go regexp for waitConsole.
max_bytes int no Bounded history tail for getConsoleHistory.
steps list[ConsoleRunStep] no
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

RunConsoleRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
manifest str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
command str no
commands list[str] no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets list[ConsoleTarget] no
session_id str no Optional Hub session. Omit to join or open the Hub for the node. A missing session reopens once. console_busy is not expiry.
after_seq int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode ConsoleWriteMode no
pattern str no Go regexp for waitConsole.
max_bytes int no Bounded history tail for getConsoleHistory.
steps list[ConsoleRunStep] no
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

StartOobRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

GetOobStatusRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

GetOobCredentialsRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

StopOobRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.

OpenOobRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Python type Required Semantics
lab str no
yaml str no
files dict[str, str] no
state Any no
source Any no
manifest str no
prune bool no omitted: Go bool zero = false. to_eve still deletes a node or network whose id is in project state but whose key is absent from the desired topology, and a link absent from the desired topology. Other extra live objects are not deleted. explicit false: same semantic as omitted, distinct on the wire. explicit true: also delete extra live objects that the project never owned
wipe bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action str no
node str no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes list[str] no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset str no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id int no
stopmode int no 0=graceful 1=poweroff 2=hibernate 3=auto. Omitted uses lifecycle.DefaultStopMode (3). Explicit 0 is graceful. No OpenAPI default. omitted: lifecycle.DefaultStopMode (3, Vue auto). explicit 0: graceful stop (0); distinct from omission. values: 0=graceful 1=poweroff 2=hibernate 3=auto
refresh bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity str no omitted: recompute the live plan. to_eve confirm=true with remaining stop-required work: omitted identity is 409 plan_stale. present: opaque token from the last plan of the same direction
direction str no Wire string. Valid values are documented in semantics.yaml, not as an OpenAPI enum, so omitted vs to_eve vs empty vs invalid remain distinct on the wire. omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
confirm bool no Meaningful on reconcileProject. If any PlanAction is unsupported, to_eve performs zero EVE mutations and the plan stays inspectable. Otherwise omitted/false applies live-applicable work and does not stop nodes. true on to_eve, only when the plan has no unsupported action: after live-safe work, stop classified requires_stop nodes only when plan_identity still matches the live classified plan; omitted or stale identity is 409 plan_stale with zero StopNode. from_eve: confirm does not authorize stop. omitted: Go bool zero = false. If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise reconcile applies live-applicable work only and does not stop nodes. explicit false: same semantic as omitted, distinct on the wire. explicit true: If any PlanAction is unsupported, to_eve performs zero EVE mutations. Otherwise to_eve reconcile may stop classified requires_stop nodes, re-plan, apply, restore run state. from_eve: confirm does not authorize stop. prune still requires its own confirm/yes.
file str no getPublicProject only. topology or presentation. Omitted = topology.
path str no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter str no getPublicProject only. Exact IaC key. Allowed only with path /nodes, /networks, or /links. Nodes/networks: missing key is path_not_found. Links: endpoint membership, original order, empty array if none. Not jq.
dir str no Rejected when non-empty.
out str no Rejected when non-empty.