Developers¶
Build integrations against eve-iac-agent. The Python, TypeScript, and Go SDKs are generated from the same OpenAPI + semantics IR as this site’s API reference. Do not treat method-name mapping tables as the documentation — use the per-language reference.
| Language | Package | Start |
|---|---|---|
| Install | GitLab Package Registry / Release | Install packages |
| Python | eve-iac (import eveiac) |
Getting started |
| TypeScript | @eve-iac/sdk |
Getting started |
| Go | github.com/eve-iac/eve-iac/sdk/go/eveiac |
Getting started |
| HTTP | /api/v1 |
HTTP API |
All three languages document the same 58 operations. Cross-map: SDK operation index.
Console session, exec, wait, run, and history: Console SDK. Out-of-band SSH: the CLI (eve-iac oob start), and materialize_oob / materializeOob / MaterializeOOB. Ansible and Netmiko inventories are the same OOB modules (render_project, renderProject, RenderInventory), not a new HTTP operation: Inventory from a SDK. Live NETEM / suspend: Live link quality / suspend. Shared model: Interaction as Code.
Import versus from_eve¶
- Import reads an existing EVE source lab into Git intent. It does not deploy. Never mutate
source_lab. - from_eve is reconcile with
direction: "from_eve"on an existing project’s managed lab. It reads the persisted UNL, including startup-config blobs already stored there. It does not read NOS memory. - exportProjectConfig (
export_project_config/ExportProjectConfig) copies the running NOS configuration into an existing startup-config set.configsetis required. Optionalnodeslimits the nodes. The call does not writetopology.ymlorconfigs/**. An unknown set isunknown_configsetand is not created. LOAD andsource_labare refused. A laterfrom_eveis what adopts the blob into Git.
Raw contract¶
Generated pages are marked: Generated from eve-iac OpenAPI/semantics. Do not edit manually.
Where the Markdown files live¶
| What you see in the sidebar | Hand-written source | Generated source |
|---|---|---|
| Getting started, Authentication | site/pages/developers/<lang>/ |
— |
| OOB SSH, Inventory export | site/pages/developers/oob.md, inventory.md |
— |
| Examples, API reference, Models | — | sdk/generated/site/developers/<lang>/ |
| CLI reference | — | sdk/generated/site/reference/cli.md |
make site regenerates the SDK reference, deletes site/_stage/ and public/, then copies both trees into a new stage before MkDocs. Links such as Go Examples work on eve-iac.io but do not exist under site/pages/developers/go/ in Git — open sdk/generated/site/developers/go/examples.md instead. Each language folder also has site/pages/developers/<lang>/README.md (contributor-only, not on the public site).