# `Mailglass.Installer.Operation`
[🔗](https://github.com/szTheory/mailglass/blob/v1.0.0/lib/mailglass/installer/operation.ex#L1)

Typed operation contract used by the installer planner and apply engine.

# `kind`

```elixir
@type kind() :: :create_file | :ensure_snippet | :ensure_block | :run_task
```

Supported deterministic installer operation kinds.

# `status`

```elixir
@type status() :: :create | :update | :unchanged | :conflict
```

Classified apply outcome for a single operation.

# `t`

```elixir
@type t() :: %Mailglass.Installer.Operation{
  kind: kind(),
  path: String.t() | nil,
  payload: term(),
  reason: term(),
  status: status() | nil
}
```

---

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