# `Grizzly.FirmwareUpdates.OTW.UpdateSpec`
[🔗](https://github.com/smartrent/grizzly/blob/v9.1.4/lib/grizzly/firmware_updates/otw/update_spec.ex#L1)

A firmware upgrade specification used to determine if a firmware image can
be applied given the running firmware version.

# `t`

```elixir
@type t() :: %Grizzly.FirmwareUpdates.OTW.UpdateSpec{
  applies_to: Version.requirement(),
  path: Path.t(),
  version: Version.t()
}
```

Firmware upgrade specification.

* `version` - the version of the firmware image
* `path` - the path to the firmware image
* `applies_to` - the version requirement for the running firmware version
  that must be met for the upgrade to be applied

# `applies?`

```elixir
@spec applies?(t(), Version.t()) :: boolean()
```

Whether the spec applies given the current version.

# `new`

```elixir
@spec new(map() | keyword()) :: t()
```

---

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