# `Trellis.QuarantineEntry`
[🔗](https://github.com/salesforce-misc/trellis/blob/v0.1.0-alpha/clients/elixir/lib/trellis/quarantine.ex#L1)

One target's quarantine state, as `Trellis.quarantined/1` lists it and
`Trellis.quarantine_status/2` reports it.

`target` is an address: a transform's bare target table name
(`"order_totals"`; `quarantine_status/2` also takes the qualified
`"public.order_totals"`) for the whole transform, or `"order_totals.total"` for
one of its columns. Pass it straight back to `Trellis.quarantine_status/2`,
`Trellis.sample_quarantined/3`, or a `RESUME TRANSFORM` statement.

`paused_at` and `last_error` are set only for a paused column: when its
pause tripped, and its most recent failure (`nil` for a pause that
cascaded from an upstream column rather than failing on its own).

# `state`

```elixir
@type state() ::
  :waiting_to_backfill
  | :backfilling
  | :catching_up
  | :live
  | :quarantined
  | :paused
```

A target's state. A column is `:live` or `:paused`; a whole transform
reports its lifecycle status (see `t:Trellis.Status.status/0`).

# `t`

```elixir
@type t() :: %Trellis.QuarantineEntry{
  last_error: String.t() | nil,
  paused_at: DateTime.t() | nil,
  state: state(),
  target: String.t()
}
```

---

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