{"name":"@deckyard/virtualboxws","description":"Oracle VirtualBox 7 through its SOAP web service (vboxwebsrv): machines, power, snapshots, clones, OVA import and export, guest properties","versions":{"0.1.0":{"version":"0.1.0","kind":"git","url":"https://github.com/deckyard/deck-virtualboxws.git","ref":"0.1.0","commit":"cc06f93f6968c63b1e1d0dcdab9d0487d7d3152a","checksum":"","yanked":false,"license":"LGPL-3.0-only","requires":{},"engines":{"jennifer":"\u003e=0.26.0"},"capabilities":["net"],"keywords":["virtualbox","vboxwebsrv","soap","vm","virtualization"],"description":"Oracle VirtualBox 7 through its SOAP web service (vboxwebsrv): machines, power, snapshots, clones, OVA import and export, guest properties","publishedAt":"1794610494","repoId":1457146895,"repoOwnerId":346943577,"repoOwner":"deckyard"}},"readme":"# @deckyard/virtualboxws\n\n[![test](https://github.com/deckyard/deck-virtualboxws/actions/workflows/test.yml/badge.svg)](https://github.com/deckyard/deck-virtualboxws/actions/workflows/test.yml)\n[![Documentation](https://img.shields.io/badge/docs-github%20pages-blue)](https://deckyard.github.io/deck-virtualboxws/)\n[![release](https://img.shields.io/github/v/release/deckyard/deck-virtualboxws)](https://github.com/deckyard/deck-virtualboxws/releases/latest)\n\nOracle VirtualBox 7 for [Jennifer](https://jennifer-lang.dev/) programs,\nthrough VirtualBox's SOAP web service (`vboxwebsrv`): list machines, start\nand stop them, take and restore snapshots, clone, import and export\nappliances, and read the guest's IP, on a host reached over HTTP(S) instead\nof by running `VBoxManage` (that is the\n[`@deckyard/virtualbox`](https://github.com/deckyard/deck-virtualbox) deck).\nEvery object reference is released, long operations have deadlines, and\nthe password is not sent over plain http to another machine unless asked.\n\n**[Documentation](https://deckyard.github.io/deck-virtualboxws/)**\n\n## Install\n\n```sh\njvc add @deckyard/virtualboxws\n```\n\nThis vendors the deck to `vendor/\u003cscope\u003e/virtualboxws/`. Without `jvc`, unpack the\n`src/` subtree of a release archive (`\u003cscope\u003e-virtualboxws-\u003cversion\u003e.tar.gz`) there.\n\n## Usage\n\n```jennifer\nuse io;\nuse os;\n\nimport \"@deckyard/virtualboxws/\" as virtualboxws;\n\ndef s as virtualboxws.Session init virtualboxws.logon(\n    virtualboxws.endpoint(\"https://vmhost:18083/\"), \"admin\", os.getEnv(\"VBOX_PASSWORD\"));\nvirtualboxws.start($s, \"web\");\nio.printf(\"up at %s\\n\", virtualboxws.waitForIp($s, \"web\", 0, 180000));\nvirtualboxws.logoff($s);\n```\n\n## Requirements\n\nJennifer 0.26.0 or newer, the default `jennifer` binary (the deck needs\n`net`; the stock `jennifer-tiny` has no network driver), and VirtualBox 7.0\nor newer with its web service, `vboxwebsrv`, running on the host.\n\n## Development\n\n```sh\ntools/check-all.sh                   # the full gate, as CI runs it\njennifer test src/virtualboxws_test.j  # the tests, against a fake web service\ntools/check-docs.sh                  # docs against the code\ntools/pack.sh dist                   # build the release archive\n```\n\n## Licence\n\nLGPL-3.0-only, see [LICENSE](LICENSE). Copyright (C) 2026 mplx \u0026lt;mplx@jennifer-lang.dev\u0026gt;.\n\n`tools/check-headers.sh` checks every source file's SPDX header against\n`deck.toml`.\n"}