license

Seat one or more hosts against your account by fingerprint alone — the lightweight, first-class way to claim instance seats. Also spelled vrtmv enroll. It collects only the VM fingerprint (the cheap identity step) and calls POST /v1/enroll; it does no inventory extraction, translation, or attestation, so it returns in seconds rather than the minutes a full migrate or verify takes.

Bills a seat. license records the license usage kind, a billable seat kind alongside migration and verify (a seat is 402-gated quota, never a metered charge). It is capacity-gated: a host is refused when the account is out of seats. It is idempotent — re-licensing a seated host claims nothing new, and a later migrate/verify of a licensed host does not claim a second seat (the seat dedups on the fingerprint). Needs credentials.

Use it to light up spare seats ahead of time, or to license a fleet so drift — which is refused on an unlicensed VM — can run free on those hosts. cve-scan auto-licenses a host itself when the account has capacity (VRTMV-620), so it does not need this first.

vrtmv license disk.vmdk
vrtmv license --root /mnt
vrtmv enroll --ssh user@host
vrtmv license --image a.qcow2 --image b.qcow2 --ssh user@host3 --json
vrtmv license --manifest fleet.txt
FlagPurpose
<image> (positional)A single disk image to license (equivalent to one --image).
--root <path>License an already-mounted root filesystem (repeatable for the fleet form).
--image <path>License a disk image, mounted read-only (repeatable).
--ssh <user@host>License a running host over SSH (repeatable).
--manifest <path>A manifest of sources, one per line (the same format readiness uses).
--jsonEmit the per-host result as JSON instead of a text summary.

The fleet form licenses every host in one invocation. A host that cannot be reached or identified, or that the account has no capacity for, is reported as not licensed with a reason and the run continues; the command exits non-zero if any host was not licensed, so a pipeline never reads a partial result as a clean fleet-wide success.

In the fleet form every host is identified before any is seated. Hosts that report one identity (see identity) are clones of one image, or one host listed under several names: each of them is refused, POST /v1/enroll is not called for any of them, and the reason names the hosts and the file the identity came from. The other hosts are seated.

A host with no billable identity is refused before any network call — write a stable /etc/vrtmv/instance-id (or run vrtmv identity) first. See Accounts, quota & billing for the seat model.