Docs · Viite

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

ShapeCommands
VMSummaryJSONlist, info, create
SnapshotJSONsnapshot list
OperationJSONmutating commands — snapshot, reset, clone, archive, rm, …
LogLineJSONlogs
AddressJSONip
DiskUsageReportJSONdu
GuideJSONguide <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

CodeMeaning
0ok
1failed
2usage
3not found
4wrong state
5unsupported

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.