# `Opsmaru.Incus.Model`
[🔗](https://github.com/upmaru/opsmaru-incus/blob/v0.1.0/lib/opsmaru/incus/model.ex#L1)

Typed native model value backed by pinned official JSON field schemas.

`decode/2` validates known field types without dropping optional/null or
unknown fields. `data` is the lossless native map/list/scalar, not a workload
abstraction. Native string keys avoid runtime atom creation. `encode/1`
returns the native value for mutation bodies. Inventory presence alone is
not evidence for model helpers or complete client coverage.

# `t`

```elixir
@type t() :: %Opsmaru.Incus.Model{data: term(), type: String.t()}
```

# `active?`

Native Instance.IsActive semantics, including unknown status codes.

# `decode`

# `encode`

# `etag_values`

Native Etag input values; these privileged values are not the server's ETag header.

# `types`

# `writable`

Select the pinned native writable DTO fields, retaining present nulls and omitting read-only/unknown fields.

# `writable_types`

---

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