Go 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 a named string type with DirectionToEve and DirectionFromEve. The HTTP wire remains a free string.

LooseObject

Type: map[string]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 Go type Required Semantics
valid (Valid) bool yes
errors (Errors) []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 Go type Required Semantics
path (Path) string yes
code (Code) string yes
value (Value) any no
expected (Expected) map[string]any no
message (Message) *string no

BulkResult

Field Go type Required Semantics
requested (Requested) int yes
started (Started) int yes
already_running (AlreadyRunning) int yes
already_starting (AlreadyStarting) int yes
stopped (Stopped) int yes
already_stopped (AlreadyStopped) int yes
wiped (Wiped) int yes
failed (Failed) int yes
invalid (Invalid) int yes

Used by: execProject

ExportConfigRequest

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) string yes exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string 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 Go type Required Semantics
key (Key) *string no IaC node key when the node is mapped.
id (ID) *int no Native EVE node id.
status (Status) string yes
code (Code) *string no EVE message id such as 80084 or 80061, or unknown_node.
selector_restore_failed (SelectorRestoreFailed) *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 Go type Required Semantics
lab (Lab) string yes
configset (Configset) string yes
nodes (Nodes) []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 Go type Required Semantics
delay (Delay) *int no
jitter (Jitter) *int no
loss (Loss) *int no
bandwidth (Bandwidth) *int no

Used by: applyLinkQuality

PublicLinkEndpoint

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

Field Go type Required Semantics
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
interface (Interface) *string no
network (Network) *string 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 Go type Required Semantics
endpoints (Endpoints) []PublicLinkEndpoint yes
vlan (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 Go type Required Semantics
applied (Applied) bool yes
persisted (Persisted) bool yes
match (Match) *PublicLinkMatch no

Used by: applyLinkQuality

LinkSuspendTarget

Field Go type Required Semantics
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
interface (Interface) *string no

LinkSuspendData

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

Field Go type Required Semantics
applied (Applied) bool yes
suspended (Suspended) bool yes
side (Side) *string no
match (Match) *PublicLinkMatch no
targets (Targets) []LinkSuspendTarget no

Used by: setLinkSuspend

CaptureData

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

Field Go type Required Semantics
node (Node) string yes omitted: all nodes. empty string: all nodes. named: that IaC node key
interface (Interface) string yes
url (URL) string yes

Used by: startCapture

TrafficAttachData

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

Field Go type Required Semantics
stream (Stream) string yes
transport (Transport) string yes

Used by: attachTraffic

SuccessEnvelope

Field Go type Required Semantics
ok (Ok) bool yes
data (Data) any no
error (Error) *string no
code (Code) *string no

ErrorEnvelope

Field Go type Required Semantics
ok (Ok) bool yes
error (Error) *string no
code (Code) *string no
data (Data) any no

LoginRequest

Field Go type Required Semantics
username (Username) string yes
password (Password) string yes

Used by: login

LogoutRequest

Type: map[string]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 Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string 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 Go type Required Semantics
dir (Dir) *string no Rejected when non-empty.
yaml (YAML) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
template (Template) *string no
attributes (Attributes) map[string]any no
excludeUsed (ExcludeUsed) *bool no
eth_format (EthFormat) *string 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 Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
manifest (Manifest) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command (Command) *string no
commands (Commands) []string no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms (TimeoutMs) *int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets (Targets) []ConsoleTarget no
session_id (SessionID) *string 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 (AfterSeq) *int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode (Mode) *ConsoleWriteMode no
pattern (Pattern) *string no Go regexp for waitConsole.
max_bytes (MaxBytes) *int no Bounded history tail for getConsoleHistory.
steps (Steps) []ConsoleRunStep no
dir (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

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

ConsoleRunStep

Field Go type Required Semantics
expect (Expect) *string no
send (Send) *string no Omit property for no send. Present empty string for RETURN.
send_secret (SendSecret) *string no Secret send; never returned in responses or samples.
timeout_ms (TimeoutMs) *int no

ConsoleTarget

Field Go type Required Semantics
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command (Command) *string no

HealthData

Field Go type Required Semantics
status (Status) *string no
tls (Tls) *bool no
version (Version) *string no

Used by: getHealth

LoginData

Field Go type Required Semantics
token (Token) *string no
username (Username) *string no

Used by: login

StatusOkData

Field Go type Required Semantics
status (Status) *string no

Used by: logout

SessionData

Field Go type Required Semantics
username (Username) *string no

Used by: getSession

CapabilitiesData

Field Go type Required Semantics
eveReachable (EveReachable) *bool no
eveBaseUrl (EveBaseUrl) *string no
features (Features) map[string]bool no
projectModes (ProjectModes) map[string]ProjectModeCaps no

Used by: getCapabilities

ProjectModeCaps

Field Go type Required Semantics
inspect (Inspect) *bool no
open (Open) *bool no
console (Console) *bool no
lifecycle (Lifecycle) *LifecycleCaps no
topology_mutation (TopologyMutation) *bool no
reconcile (Reconcile) *bool no
destroy (Destroy) *bool no
presentation_restore (PresentationRestore) *bool no
source_mutation (SourceMutation) *bool no

LifecycleCaps

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

Template

Field Go type Required Semantics
id (ID) *string no
description (Description) *string no
type (Type) *string no
provisioned (Provisioned) *bool no
configSupported (ConfigSupported) *bool no

TemplateDetail

Field Go type Required Semantics
id (ID) *string no
description (Description) *string no
type (Type) *string no
provisioned (Provisioned) *bool no
configSupported (ConfigSupported) *bool no
icon (Icon) *string no
images (Images) []TemplateImage no
default (Default) *string no
image_requirement (ImageRequirement) *string no
attributes (Attributes) []TemplateAttribute no

Used by: getTemplate

TemplateImage

Field Go type Required Semantics
id (ID) *string no
available (Available) *bool no

TemplateAttribute

Field Go type Required Semantics
name (Name) *string no
label (Label) *string no
kind (Kind) *string no
group (Group) *string no
required (Required) *bool no
default (Default) any no
values (Values) []string no
min (Min) any no
max (Max) any no

TemplatesData

Field Go type Required Semantics
templates (Templates) []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 Go type Required Semantics
description (Description) string yes
device_family (DeviceFamily) DeviceFamily yes

TemplateCatalogData

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

Field Go type Required Semantics
templates (Templates) map[string]TemplateFamily yes

Used by: getTemplateCatalog

TemplateImagesData

Field Go type Required Semantics
template (Template) *string no
type (Type) *string no
provisioned (Provisioned) *bool no
default (Default) *string no
images (Images) []TemplateImage no

Used by: listTemplateImages

TemplateAttributesData

Field Go type Required Semantics
template (Template) *string no
type (Type) *string no
attributes (Attributes) []TemplateAttribute no

Used by: listTemplateAttributes

NetworkType

Field Go type Required Semantics
id (ID) *string no
label (Label) *string no
icon (Icon) *string no
supported (Supported) *bool no

NetworkTypesData

Field Go type Required Semantics
types (Types) []NetworkType no
natOnly (NatOnly) *bool no

Used by: listNetworkTypes

NetworkAuthoring

Field Go type Required Semantics
id (ID) *string no
label (Label) *string no
icon (Icon) *string no
supported (Supported) *bool no
attributes (Attributes) []TemplateAttribute no

Used by: getNetworkAuthoring

Icon

Field Go type Required Semantics
id (ID) *string no
label (Label) *string no

IconsData

Field Go type Required Semantics
icons (Icons) []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 Go type Required Semantics
revision (Revision) string yes
iconsRevision (IconsRevision) *string no

Used by: getAuthoringRevision

AuthoringSnapshotData

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

Field Go type Required Semantics
revision (Revision) string yes
templates (Templates) []TemplateDetail yes
catalog (Catalog) TemplateCatalogData yes
networkTypes (NetworkTypes) NetworkTypesData yes
networks (Networks) []NetworkAuthoring yes
icons (Icons) []Icon yes
netIcons (NetIcons) []Icon yes
cluster (Cluster) []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 Go type Required Semantics
id (ID) int yes Satellite id. 0 is the master. N > 0 is cluster.id.
name (Name) string yes

FolderEntry

Field Go type Required Semantics
name (Name) *string no
path (Path) *string no
lock (Lock) *bool no Listing lock hint only. GET lab.lock is authoritative.

FoldersData

Field Go type Required Semantics
path (Path) *string no
parent (Parent) *string no Parent folder path. Empty at labs root.
folders (Folders) []FolderEntry no
labs (Labs) []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 Go type Required Semantics
name (Name) *string no
type (Type) *string no ethernet or serial. Per-item; not factored.
used (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 Go type Required Semantics
source (Source) *string no Whether this result is a template preview or an existing IaC node.
template (Template) *string no Canonical resolved template id.
node (Node) *string no IaC node key when source=node. omitted: all nodes. empty string: all nodes. named: that IaC node key
items (Items) []Iface no

Used by: completeLinkInterfaces, previewInterfaces

ImportData

Field Go type Required Semantics
name (Name) *string no
yaml (YAML) *string no
files (Files) map[string]string no
mode (Mode) *string no
source_lab (SourceLab) *string no
managed_lab (ManagedLab) *string no
lab (Lab) *string no
state (State) any no
source (Source) any no

Used by: importProject

DeployData

Field Go type Required Semantics
lab (Lab) *string no
nodes (Nodes) *int no
links (Links) *int no
state (State) any no
unsupported (Unsupported) []string no

Used by: deployProject

PlanSummary

Field Go type Required Semantics
creates (Creates) *int no
updates (Updates) *int no
deletes (Deletes) *int no
blocked (Blocked) *int no

PlanAction

Field Go type Required Semantics
op (Op) *string no
kind (Kind) *string no
key (Key) *string no
side (Side) *string no
direction (Direction) *string no omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
type (Type) *string no
path (Path) *string no Public dotted path when useful (nodes.r1.attributes.cpu). Never a filesystem path.
classification (Classification) *string no Provider-independent. applicable is true iff classification is live_applicable.
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 (Reason) *string no
resolution (Resolution) *string no
stop_nodes (StopNodes) []string no IaC logical keys only. Never native EVE ids.
obligations (Obligations) []string no Ordered contract obligations (stop, wipe, put, destroy_node_links, rebuild_available_links, drop_orphan_links, start, …).
result (Result) *string no What is true after obligations apply (applied_live, node_restarted, config_activated, links_rebuilt, orphans_dropped).
prune (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 Go type Required Semantics
lab (Lab) *string no
exists (Exists) *bool no
summary (Summary) *PlanSummary no
operations (Operations) []PlanAction no
actions (Actions) []PlanAction no
applicable (Applicable) *bool no
blocked (Blocked) []PlanAction no
text (Text) *string no
plan_identity (PlanIdentity) *string 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 (Locked) *bool no
lock (Lock) *int no
direction (Direction) *string no omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
unsupported (Unsupported) []string no

Used by: planProject

ReconcileStep

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

Field Go type Required Semantics
op (Op) *string no
kind (Kind) *string no
key (Key) *string no
type (Type) *string no
detail (Detail) *string no
effect (Effect) *string no
error (Error) *string 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 Go type Required Semantics
lab (Lab) *string no
direction (Direction) *string no omitted: resolves to to_eve. empty string: resolves to to_eve. from_eve is not Import
status (Status) *string no
applied (Applied) *int no
skippedPrune (SkippedPrune) *int no
fullDeploy (FullDeploy) *bool no
applicable (Applicable) *bool no Summary only: full immediate convergence is possible (no requires_stop, no unsupported, not locked). Must not gate execution.
desired_updated (DesiredUpdated) *bool no
live (Live) map[string]any no
requires_stop (RequiresStop) map[string]any no
unsupported (Unsupported) map[string]any no Object {changes, messages} on reconcile. Plan still uses string[].
runtime (Runtime) map[string]any no
summary (Summary) *PlanSummary no
operations (Operations) []PlanAction no The plan that was considered. Classification is not proof that a call was sent.
executed (Executed) []ReconcileStep no Side effects this reconcile actually performed or refused. effect is applied, failed, skipped, or pending_stop.
text (Text) *string no Human-readable execution report. Same facts as executed.
blocked (Blocked) []PlanAction no
plan_identity (PlanIdentity) *string 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 (State) any no
yaml (YAML) *string no
files (Files) map[string]string no
source (Source) any no
manifest (Manifest) *string no

Used by: reconcileProject

DestroyData

Field Go type Required Semantics
lab (Lab) *string no

Used by: destroyProject

ProjectStatusData

Field Go type Required Semantics
mode (Mode) *string no
source_lab (SourceLab) *string no
managed_lab (ManagedLab) *string no
runtime_lab (RuntimeLab) *string no
capabilities (Capabilities) *ProjectModeCaps no
locked (Locked) *bool no
lock (Lock) *int no
live (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 Go type Required Semantics
available (Available) *bool no
joined (Joined) *bool no True when native ids are named from packed state.node_ids, or as n_ in load mode.
nodes (Nodes) []RuntimeNode no Present when available is true. Empty array means the lab has no nodes.
netem (Netem) *AppliedNetem no
error (Error) *string no Present when available is false. The runtime query failed.

RuntimeNode

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

Field Go type Required Semantics
key (Key) *string no Logical IaC node key when joined. Empty when unmapped on a managed project. n_ only in load mode.
id (ID) *int no Native EVE node id.
state (State) *int no
state_label (StateLabel) *string no
mapped (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 Go type Required Semantics
observation (Observation) *bool no
desired_state (DesiredState) *bool no
mode (Mode) *string no
source_lab (SourceLab) any no
managed_lab (ManagedLab) any no
runtime_lab (RuntimeLab) *string no
capabilities (Capabilities) *ProjectModeCaps no
cached (Cached) *bool no
nodes (Nodes) []InspectNode no
netem (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: map[string]map[string]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 Go type Required Semantics
source (Source) *LinkImpairment no
destination (Destination) *LinkImpairment no

InspectIface

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

Field Go type Required Semantics
id (ID) *int no
name (Name) *string no
type (Type) *string no
network (Network) *string 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 Go type Required Semantics
key (Key) *string no Logical IaC node key when mapped. Omitted when unmapped on a managed project. LOAD_FALLBACK n_ only in load mode.
id (ID) *int no Native EVE node id. Runtime metadata only.
mapped (Mapped) *bool no True when id uniquely joins to a current repository node key via packed state.node_ids.
name (Name) *string no
template (Template) *string no
state (State) *int no
state_label (StateLabel) *string no
interfaces (Interfaces) []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: map[string]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 Go type Required Semantics
sections (Sections) []string 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 Go type Required Semantics
revision (Revision) string yes Lowercase hex SHA-256 of the exact embedded canonical schema bytes. Same value for every fragment in the response.
sections (Sections) map[string]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 Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.
operations (Operations) []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 Go type Required Semantics
op (Op) string yes
section (Section) string yes
key (Key) *string no Exact IaC map key. Required for nodes, networks, traffic_filters, tasks, configsets.
match (Match) map[string]any no Exact canonical link object for links update/delete. Deep equality, not fuzzy.
value (Value) any no Canonical public JSON object for add.
patch (Patch) map[string]any no Recursive object merge for update. Arrays replace wholly. Omitted fields stay.
remove (Remove) []string 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 Go type Required Semantics
nodes (Nodes) []string no
networks (Networks) []string no
links (Links) *int no
traffic_filters (TrafficFilters) []string no
tasks (Tasks) []string no
configsets (Configsets) []string 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 Go type Required Semantics
applied (Applied) bool yes
operations (Operations) int yes
changed (Changed) *EditChanged no
valid (Valid) bool yes
errors (Errors) []ValidationError yes
yaml (YAML) *string 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 (Repairs) []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 Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.
operation (Operation) string yes Discriminates the read. Not OpenAPI oneOf.
template (Template) *string no Exact template id filter for index/search.
present (Present) *bool no index only. true = blobs present, false = missing. Omitted = both.
query (Query) *string no search only. Literal substring. Required. Max 256 characters. Empty is invalid_request.
case_sensitive (CaseSensitive) *bool no search only. Omitted = case-insensitive.
limit (Limit) *int no search only. Total match hits, not configs. Omitted = 20. Max 50. No OpenAPI default.
context_lines (ContextLines) *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 Go type Required Semantics
template (Template) string yes
configset (Configset) string yes
present (Present) bool yes
bytes (Bytes) *int no
sha256 (Sha256) *string 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 Go type Required Semantics
line (Line) int yes
text (Text) string yes
before (Before) []string no
after (After) []string no

ConfigSearchNode

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

Field Go type Required Semantics
template (Template) string yes
configset (Configset) string yes
sha256 (Sha256) *string no
matches (Matches) []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 Go type Required Semantics
lab (Lab) *string no
scope (Scope) map[string]any no
entries (Entries) map[string]ConfigIndexEntry no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
template (Template) *string no
configset (Configset) *string no
present (Present) *bool no
bytes (Bytes) *int no
sha256 (Sha256) *string no
content (Content) *string no
query (Query) *string no
truncated (Truncated) *bool no
results (Results) map[string]ConfigSearchNode no

Used by: getProjectConfig

ConfigEditRequest

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.
operations (Operations) []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 Go type Required Semantics
op (Op) string yes
node (Node) string yes omitted: all nodes. empty string: all nodes. named: that IaC node key
content (Content) *string no Exact UTF-8 text for put. Preserved as submitted. Required for put. Ignored for delete.
configset (Configset) *string no Library override for this op. Omitted uses the node selector, then default.
expected_sha256 (ExpectedSha256) *string 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 Go type Required Semantics
configset (Configset) string yes
present (Present) bool yes
bytes (Bytes) int yes
sha256 (Sha256) *string 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 Go type Required Semantics
lab (Lab) string yes
applied (Applied) bool yes
operations (Operations) int yes
changed (Changed) map[string]ConfigChanged yes
files (Files) map[string]string no Changed blobs keyed by project-relative configs/ path. Persist sidecar. MCP strips this field.
yaml (YAML) *string no Canonical topology.yml when configsets or node selectors changed. Persist sidecar. MCP strips this field.
deleted (Deleted) []string no Project-relative configs/ paths to unlink. Persist sidecar. MCP strips this field.

Used by: editProjectConfig

OpenData

Field Go type Required Semantics
url (URL) *string no
ttl (TTL) *int no
lab (Lab) *string no

Used by: openProject

ConsoleRecord

Field Go type Required Semantics
id (ID) *int no
key (Key) *string no
name (Name) *string no
template (Template) *string no
console (Console) *string no
status (Status) *int no
url (URL) *string no

ConsolesData

Field Go type Required Semantics
lab (Lab) *string no
html5 (Html5) *bool no
consoles (Consoles) []ConsoleRecord no

Used by: listProjectConsoles

ConsoleExecData

Field Go type Required Semantics
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
name (Name) *string no
console_type (ConsoleType) *string no
command (Command) *string no
output (Output) *string no
duration_ms (DurationMs) *int no
timed_out (TimedOut) *bool no
truncated (Truncated) *bool no
prompt (Prompt) *string no
session_id (SessionID) *string no
match (Match) *string no
phase (Phase) *string no Interaction phase: discovering, ready, executing, paging, interactive, auth_required, error.
recovered (Recovered) *bool no True when a missing session was reopened for this call.
rx_to (RxTo) *int no Receive sequence of the last byte belonging to this command.

Used by: execConsole

ConsoleExecManyData

Field Go type Required Semantics
results (Results) []any no

Used by: execConsoleMany

ConsoleAttachData

Field Go type Required Semantics
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
name (Name) *string no
console_type (ConsoleType) *string no
stream (Stream) *string no
transport (Transport) *string no
session_id (SessionID) *string no
mode (Mode) *ConsoleWriteMode no

Used by: attachConsole

OobNode

Field Go type Required Semantics
key (Key) *string no Canonical node key. This is the SSH HostName.
name (Name) *string no Display name used only to fold the Host alias.

OobStatusData

Field Go type Required Semantics
active (Active) *bool no
username (Username) *string no SSH username. Always eve-oob while active. HTTP does not authenticate this name.
user_public_key (UserPublicKey) *string no
host_public_key (HostPublicKey) *string no
host_fingerprint (HostFingerprint) *string 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 Go type Required Semantics
username (Username) *string no
user_private_key (UserPrivateKey) *string no
user_public_key (UserPublicKey) *string no
host_public_key (HostPublicKey) *string no
host_fingerprint (HostFingerprint) *string no
known_hosts (KnownHosts) *string no
nodes (Nodes) []OobNode no

Used by: getOobCredentials

OobOpenData

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

Used by: openOob

ConsoleSessionData

Field Go type Required Semantics
session_id (SessionID) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
name (Name) *string no
console_type (ConsoleType) *string no
mode (Mode) *ConsoleWriteMode no
state (State) *string no
created_at (CreatedAt) *string no
last_activity (LastActivity) *string no
observers (Observers) *int no
writers (Writers) *int no
owner (Owner) *string no Exclusive writer owner when mode is exclusive.
phase (Phase) *string no Interaction phase. state remains the TCP lifecycle.

Used by: createConsoleSession, getConsoleSession, closeConsoleSession

ConsoleSessionListData

Field Go type Required Semantics
sessions (Sessions) []ConsoleSessionData no

Used by: listConsoleSessions

ConsoleHistoryData

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

Used by: getConsoleHistory

ConsoleWaitData

Field Go type Required Semantics
session_id (SessionID) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
matched (Matched) *bool no
match (Match) *string no
text (Text) *string no Matched snippet.
duration_ms (DurationMs) *int no
timed_out (TimedOut) *bool no
truncated (Truncated) *bool no

Used by: waitConsole

ConsoleRunStepResult

Field Go type Required Semantics
index (Index) *int no 0-based step index.
expect (Expect) *string no
sent (Sent) *string no Redacted send; secrets appear as ********.
matched (Matched) *string no
duration_ms (DurationMs) *int no
timed_out (TimedOut) *bool no
truncated (Truncated) *bool no
code (Code) *string no
error (Error) *string no

ConsoleRunData

Field Go type Required Semantics
session_id (SessionID) *string no
ok (Ok) *bool no
failed_step (FailedStep) *int no 0-based failed step index; -1 when ok.
steps (Steps) []ConsoleRunStepResult no
transcript (Transcript) *string no Bytes received after the sends in this run, up to the completing match.
truncated (Truncated) *bool no
duration_ms (DurationMs) *int no
prompt (Prompt) *string no
phase (Phase) *string no
rx_to (RxTo) *int no
recovered (Recovered) *bool no

Used by: runConsole

ListTemplatesQuery

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

Field Go type Required Semantics
provisioned (Provisioned) *string 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 Go type Required Semantics
path (Path) *string 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 Go type Required Semantics
sections (Sections) []string yes

CompleteLinkInterfacesRequest

Request body alias of AuthoringPayload. Same wire shape.

Alias of AuthoringPayload.

Field Go type Required Semantics
dir (Dir) *string no Rejected when non-empty.
yaml (YAML) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
template (Template) *string no
attributes (Attributes) map[string]any no
excludeUsed (ExcludeUsed) *bool no
eth_format (EthFormat) *string no

PreviewInterfacesRequest

Request body alias of AuthoringPayload. Same wire shape.

Alias of AuthoringPayload.

Field Go type Required Semantics
dir (Dir) *string no Rejected when non-empty.
yaml (YAML) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
template (Template) *string no
attributes (Attributes) map[string]any no
excludeUsed (ExcludeUsed) *bool no
eth_format (EthFormat) *string no

ValidateProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

ImportProjectRequest

Request body for importProject.

Field Go type Required Semantics
lab (Lab) string yes
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

Used by: importProject

DeployProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

PlanProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

ReconcileProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

DestroyProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

GetProjectStatusRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

InspectProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

GetPublicProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

EditProjectRequest

Request body alias of EditRequest. Same wire shape.

Alias of EditRequest.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.
operations (Operations) []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 Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.
operation (Operation) string yes Discriminates the read. Not OpenAPI oneOf.
template (Template) *string no Exact template id filter for index/search.
present (Present) *bool no index only. true = blobs present, false = missing. Omitted = both.
query (Query) *string no search only. Literal substring. Required. Max 256 characters. Empty is invalid_request.
case_sensitive (CaseSensitive) *bool no search only. Omitted = case-insensitive.
limit (Limit) *int no search only. Total match hits, not configs. Omitted = 20. Max 50. No OpenAPI default.
context_lines (ContextLines) *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 Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.
operations (Operations) []ConfigEditOp yes Preflight all, then write. Not a multi-file transaction.

OpenProjectRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

ListProjectConsolesRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

ExecProjectRequest

Request body for execProject.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) string yes
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

Used by: execProject

ExportProjectConfigRequest

Request body alias of ExportConfigRequest. Same wire shape.

Alias of ExportConfigRequest.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) string yes exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

ApplyLinkQualityRequest

Request body for applyLinkQuality.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.
match (Match) PublicLinkMatch yes
source_impairment (SourceImpairment) *LinkImpairment no
destination_impairment (DestinationImpairment) *LinkImpairment no
save (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 Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.
match (Match) PublicLinkMatch yes
suspended (Suspended) bool yes true = native suspend; false = native resume. Required; omitted is 400 invalid_request.
side (Side) *string no source, destination, or both. Omitted/empty is both. Wire-distinct from explicit both.

Used by: setLinkSuspend

StartCaptureRequest

Request body for startCapture.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) string yes omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.
interface (Interface) string yes Interface name on that node.

Used by: startCapture

AttachTrafficRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

ExecConsoleRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
manifest (Manifest) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command (Command) *string no
commands (Commands) []string no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms (TimeoutMs) *int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets (Targets) []ConsoleTarget no
session_id (SessionID) *string 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 (AfterSeq) *int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode (Mode) *ConsoleWriteMode no
pattern (Pattern) *string no Go regexp for waitConsole.
max_bytes (MaxBytes) *int no Bounded history tail for getConsoleHistory.
steps (Steps) []ConsoleRunStep no
dir (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

ExecConsoleManyRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
manifest (Manifest) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command (Command) *string no
commands (Commands) []string no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms (TimeoutMs) *int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets (Targets) []ConsoleTarget no
session_id (SessionID) *string 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 (AfterSeq) *int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode (Mode) *ConsoleWriteMode no
pattern (Pattern) *string no Go regexp for waitConsole.
max_bytes (MaxBytes) *int no Bounded history tail for getConsoleHistory.
steps (Steps) []ConsoleRunStep no
dir (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

AttachConsoleRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
manifest (Manifest) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command (Command) *string no
commands (Commands) []string no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms (TimeoutMs) *int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets (Targets) []ConsoleTarget no
session_id (SessionID) *string 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 (AfterSeq) *int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode (Mode) *ConsoleWriteMode no
pattern (Pattern) *string no Go regexp for waitConsole.
max_bytes (MaxBytes) *int no Bounded history tail for getConsoleHistory.
steps (Steps) []ConsoleRunStep no
dir (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

CreateConsoleSessionRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
manifest (Manifest) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command (Command) *string no
commands (Commands) []string no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms (TimeoutMs) *int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets (Targets) []ConsoleTarget no
session_id (SessionID) *string 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 (AfterSeq) *int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode (Mode) *ConsoleWriteMode no
pattern (Pattern) *string no Go regexp for waitConsole.
max_bytes (MaxBytes) *int no Bounded history tail for getConsoleHistory.
steps (Steps) []ConsoleRunStep no
dir (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

ListConsoleSessionsRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
manifest (Manifest) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command (Command) *string no
commands (Commands) []string no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms (TimeoutMs) *int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets (Targets) []ConsoleTarget no
session_id (SessionID) *string 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 (AfterSeq) *int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode (Mode) *ConsoleWriteMode no
pattern (Pattern) *string no Go regexp for waitConsole.
max_bytes (MaxBytes) *int no Bounded history tail for getConsoleHistory.
steps (Steps) []ConsoleRunStep no
dir (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

GetConsoleSessionRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
manifest (Manifest) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command (Command) *string no
commands (Commands) []string no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms (TimeoutMs) *int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets (Targets) []ConsoleTarget no
session_id (SessionID) *string 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 (AfterSeq) *int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode (Mode) *ConsoleWriteMode no
pattern (Pattern) *string no Go regexp for waitConsole.
max_bytes (MaxBytes) *int no Bounded history tail for getConsoleHistory.
steps (Steps) []ConsoleRunStep no
dir (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

CloseConsoleSessionRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
manifest (Manifest) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command (Command) *string no
commands (Commands) []string no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms (TimeoutMs) *int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets (Targets) []ConsoleTarget no
session_id (SessionID) *string 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 (AfterSeq) *int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode (Mode) *ConsoleWriteMode no
pattern (Pattern) *string no Go regexp for waitConsole.
max_bytes (MaxBytes) *int no Bounded history tail for getConsoleHistory.
steps (Steps) []ConsoleRunStep no
dir (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

GetConsoleHistoryRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
manifest (Manifest) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command (Command) *string no
commands (Commands) []string no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms (TimeoutMs) *int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets (Targets) []ConsoleTarget no
session_id (SessionID) *string 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 (AfterSeq) *int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode (Mode) *ConsoleWriteMode no
pattern (Pattern) *string no Go regexp for waitConsole.
max_bytes (MaxBytes) *int no Bounded history tail for getConsoleHistory.
steps (Steps) []ConsoleRunStep no
dir (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

WaitConsoleRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
manifest (Manifest) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command (Command) *string no
commands (Commands) []string no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms (TimeoutMs) *int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets (Targets) []ConsoleTarget no
session_id (SessionID) *string 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 (AfterSeq) *int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode (Mode) *ConsoleWriteMode no
pattern (Pattern) *string no Go regexp for waitConsole.
max_bytes (MaxBytes) *int no Bounded history tail for getConsoleHistory.
steps (Steps) []ConsoleRunStep no
dir (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

RunConsoleRequest

Request body alias of ConsolePayload. Same wire shape.

Alias of ConsolePayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
manifest (Manifest) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
command (Command) *string no
commands (Commands) []string no Ordered commands on the joined Hub. Each command completes when the prompt returns after that command is sent.
timeout_ms (TimeoutMs) *int no execConsole max 60000. waitConsole/runConsole max 600000. Default 10000 when omitted.
targets (Targets) []ConsoleTarget no
session_id (SessionID) *string 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 (AfterSeq) *int no getConsoleHistory only. Return bytes newer than this receive sequence. truncated is set when the sequence has left the ring.
mode (Mode) *ConsoleWriteMode no
pattern (Pattern) *string no Go regexp for waitConsole.
max_bytes (MaxBytes) *int no Bounded history tail for getConsoleHistory.
steps (Steps) []ConsoleRunStep no
dir (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

StartOobRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

GetOobStatusRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

GetOobCredentialsRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

StopOobRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.

OpenOobRequest

Request body alias of ProjectPayload. Same wire shape.

Alias of ProjectPayload.

Field Go type Required Semantics
lab (Lab) *string no
yaml (YAML) *string no
files (Files) map[string]string no
state (State) any no
source (Source) any no
manifest (Manifest) *string no
prune (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 (Wipe) *bool no explicit false: destroy lab without wiping nodes. omitted on destroy: server pointer nil means wipe nodes (true)
action (Action) *string no
node (Node) *string no omitted: all nodes. empty string: all nodes. named: that IaC node key
nodes (Nodes) []string no execProject and exportProjectConfig IaC node keys. Omitted uses node. Omitted node and omitted nodes means all nodes.
configset (Configset) *string no exportProjectConfig: default, or the name of a configset that already exists on the lab. Unknown names are not created.
id (ID) *int no
stopmode (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 (Refresh) *bool no omitted: Go bool zero = false; inspect may use the session cache. explicit true: bypass inspect cache
replace (Replace) *bool no omitted: Go bool zero = false; existing managed lab returns 409 lab_exists. explicit true: stop/wipe/delete then recreate
plan_identity (PlanIdentity) *string 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 (Direction) *string 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 (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 (File) *string no getPublicProject only. topology or presentation. Omitted = topology.
path (Path) *string no getPublicProject only. RFC 6901 JSON Pointer. Omitted or empty = whole document. Selects only; does not transform.
filter (Filter) *string 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 (Dir) *string no Rejected when non-empty.
out (Out) *string no Rejected when non-empty.