YAML model¶
Public topology file: topology.yml. Optional decorative sidecar: eve-presentation.yml. Canonical description: docs/yaml-model.md.
version: eve-iac/v1- Nodes keyed by
n_1,n_2, … .name:is the EVE display hostname and may be duplicated. Link endpoints and configset keys use that IaC id, never the hostname. - Networks keyed by
net_1,net_2, …, one key per canvas object, including internal, pnet, nat0, and private.name:(LAN) is the canvas label and is never the map key. Traffic filters arefilter_1,filter_2, …. Tasks aret_1,t_2, …. A public key must never encode a native EVE identity. - Node/network
iconis first-class, notattributes.icon - On reconcile to EVE, a managed node option absent from this file means the template default. Writing that default explicitly is the same value.
icon: "",image: "", and an allowed empty text attribute are the empty string, and reconcile can send it.satomitted andsat: -1are any. An omittedconfigsetis no boot-selector intent. Pull from EVE does not write those defaults back into the file. configsets.<set>.<node>is the startup-config library.nodes.<node>.configsetis the independent boot selector.defaultis the built-in EVE store, not a named library. Named sets start at id 2.- Checkbox node flags are public booleans (
true/false). The codec turns EVE0/1into those booleans and writes0/1back. Network manage flags stay"0"/"1". - Link interface names come from live templates (
eve_iac_interfaces), not from training data - MCP JSON (
eve_iac_public) is the same public tree as this YAML.eve_iac_schemais lazy public structure (JSON Schema fragments), not lab data. Topology writes go througheve_iac_edit. Startup-config index/search/get go througheve_iac_config; put/delete througheve_iac_config_edit. AI MUST NOT filesystem-edittopology.yml,eve-presentation.yml, orconfigs/**. Humans may still edit YAML and configs in the VS Code editor.eve_iac_inspectis live observation, not desired YAML. Liveeve_iac_link_quality/eve_iac_link_suspenddo not rewrite this file.eve_iac_link_qualitysave: truepersists NETEM into the UNL (admin, unlocked lab); omittedsaveis live-only. YAMLsource_impairmentremains the deploy/reconcile desired state. There is no YAML suspend field. READ NARROWLY / WRITE NARROWLY / VALIDATE GLOBALLY / WRITE ATOMICALLY. - Semantic model: not a byte-identical
.unl. YAML comments are not preserved. - Optional
tasks:keys are stable IaC idst_1,t_2, …. The live EVE task id is managed by the agent.typeanddataare opaque (HTML workbooks aretype: publicwith base64data) and are not identity.
Attribute keys are template-dependent and are not fully enumerated in the static JSON schema.
VPCS configs are VPCS scripts. SR Linux docker configs are JSON. Those languages are not interchangeable with Cisco CLI.