# `Hyper.Node.FireVMM.Opts`
[🔗](https://github.com/harmont-dev/hyper/blob/main/lib/hyper/node/fire_vmm.ex#L38)

Per-VM request: instance size + architecture, isolation ids, the kernel
image, optional boot args, and the per-VM `Img.Mutable` layer the VM boots
from. The root device is read from the mutable layer at configure time, so a
VM can only be booted from a mutable layer - never a bare `Hyper.Img`.

# `t`

```elixir
@type t() :: %Hyper.Node.FireVMM.Opts{
  arch: Hyper.Vm.Instance.arch(),
  boot_args: String.t() | nil,
  gid: Hyper.Node.Users.id(),
  img_id: Hyper.Img.id(),
  kernel: Path.t(),
  mutable: pid(),
  type: Hyper.Vm.Instance.t(),
  uid: Hyper.Node.Users.id(),
  vm_id: Hyper.Vm.Id.t()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
