Automaatio ja JSON
Jäädytetty `--json`-sopimus, poistumiskoodit, kertakäyttöiset tehtäväkoneet ja MCP-palvelin.
Jokainen komento hyväksyy --json-valitsimen ja tulostaa koneellisesti luettavan tulosteen stdoutiin,
virheet stderriin ja merkityksellisen poistumiskoodin. Muodot on jäädytetty: jokaisessa
objektissa on apiVersion: 1, kenttiä lisätään vain, ja rikkova muutos nostaa version. Ne on
lukittu testisarjaan.
Tuloste on kauniisti muotoiltu lajitelluilla avaimilla ja ISO-8601-päivämäärillä.
Muodot
| Shape | Commands |
|---|---|
VMSummaryJSON | list, info, create |
SnapshotJSON | snapshot list |
OperationJSON | mutating commands — snapshot, reset, clone, archive, rm, … |
LogLineJSON | logs |
AddressJSON | ip |
DiskUsageReportJSON | du |
GuideJSON | guide <guest> |
VMSummaryJSON sisältää name, id, guest, state, cpuCount, memoryBytes,
diskBytes, network, path, address, snapshotCount, isTemplate, waitingForDHCP
ja networkStatistics. list --json sisältää arkistoidut koneet tilalla
state: "archived".
OperationJSON sisältää ok, operation, vm, detail ja
durationMilliseconds — näin saat mitatut tilannevedoksen ajat etkä joudu
uskomaan sanan perusteella.
Poistumiskoodit
| Code | Meaning |
|---|---|
| 0 | ok |
| 1 | failed |
| 2 | usage |
| 3 | not found |
| 4 | wrong state |
| 5 | unsupported |
Tuhoavat komennot kieltäytyvät poistumiskoodilla 4 kehotusten sijaan. Interaktiivisia
kehotteita ei ole, joten skripti ei koskaan jää odottamaan ihmistä. Käytä
--force tai --yes, kun tarkoitat sitä.
Luotettava skripti
Virhe on kohdella "running"-tilaa kuin "ready"-tilaa. wait-ready odottaa, kunnes
vieraskone on oikeasti tavoitettavissa:
set -e
1vm create ci --from ubuntu-golden
1vm start ci --detach
1vm wait-ready ci
1vm exec ci -- ./run-tests.sh
1vm discard-session ci --force
Kertakäyttökoneet yhdellä komennolla
task run hoitaa koko kloonaa-odota-suorita-hävitä-silmukan puolestasi:
1vm task run -- ./build.sh
Se kloonaa kiinnitetyn golden-kuvan, odottaa valmiutta, suorittaa komennon ja
hävittää koneen. Golden-kuvia hallitaan komennoilla template pin,
template list ja golden capture.
MCP
1VMTool puhuu Model Context Protocolia, joten tekoälyagentti voi omistaa ja ohjata koneita suoraan:
1vm mcp serve # JSON-RPC on stdio
1vm mcp install-snippet claude # config JSON for a host
1vm agent gc # delete stopped agent-created machines
agent gc on tärkeä: agentin, joka luo koneita, ei pitäisi jättää niitä lojumaan,
ja tämä on siivousverbi.