# `Hyper.Firecracker.Api.FullVmConfiguration`
[🔗](https://github.com/harmont-dev/hyper/blob/main/lib/hyper/firecracker/api/schemas/full_vm_configuration.ex#L1)

Provides struct and type for a FullVmConfiguration

# `t`

```elixir
@type t() :: %Hyper.Firecracker.Api.FullVmConfiguration{
  __info__: any(),
  balloon: Hyper.Firecracker.Api.Balloon.t() | nil,
  boot_source: Hyper.Firecracker.Api.BootSource.t() | nil,
  cpu_config: Hyper.Firecracker.Api.CpuConfig.t() | nil,
  drives: [Hyper.Firecracker.Api.Drive.t()] | nil,
  entropy: Hyper.Firecracker.Api.EntropyDevice.t() | nil,
  logger: Hyper.Firecracker.Api.Logger.t() | nil,
  machine_config: Hyper.Firecracker.Api.MachineConfiguration.t() | nil,
  memory_hotplug: Hyper.Firecracker.Api.MemoryHotplugConfig.t() | nil,
  metrics: Hyper.Firecracker.Api.Metrics.t() | nil,
  mmds_config: Hyper.Firecracker.Api.MmdsConfig.t() | nil,
  network_interfaces: [Hyper.Firecracker.Api.NetworkInterface.t()] | nil,
  pmem: [Hyper.Firecracker.Api.Pmem.t()] | nil,
  vsock: Hyper.Firecracker.Api.Vsock.t() | nil
}
```

# `decode`

```elixir
@spec decode(term()) :: t() | nil | term()
```

Build a `Hyper.Firecracker.Api.FullVmConfiguration` from a decoded-JSON map. Compile-time generated.

---

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