# `Hyper.Cfg.Budget`
[🔗](https://github.com/harmont-dev/hyper/blob/main/lib/hyper/cfg/budget.ex#L1)

This node's resource budget. Each field reads from `config.exs`
(`config :hyper, Hyper.Cfg.Budget, ...`, typically set via the operator
override file `/etc/hyper/config.exs`), then the `[budget]` table in
`/etc/hyper/config.toml`, then its built-in default. `Unit.*` quantities may
be given as Elixir terms in `config.exs` or as strings (`"4GiB"`, `"1GiBps"`)
in TOML.

# `t`

```elixir
@type t() :: %Hyper.Cfg.Budget{
  cpu_max_cap: float() | nil,
  cpu_max_load: float(),
  disk_bw_cap: Unit.Bandwidth.t(),
  disk_bw_max_load: float(),
  disk_max: Unit.Information.t(),
  mem_max: Unit.Information.t(),
  net_bw_cap: Unit.Bandwidth.t(),
  net_bw_max_load: float()
}
```

# `get`

```elixir
@spec get() :: t()
```

# `load`

```elixir
@spec load() :: {:ok, t()} | {:error, term()}
```

---

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