# `Cairnloop.SLAPolicyProvider`
[🔗](https://github.com/szTheory/cairnloop/blob/main/lib/cairnloop/sla_policy_provider.ex#L1)

Behaviour for providing SLA policies.

Host applications can implement this behaviour to provide custom
SLA policy configurations dynamically, typically backed by a database.

# `get_active_policies`

```elixir
@callback get_active_policies() :: {:ok, [map()]} | {:error, term()}
```

Returns a list of active SLA policies.

# `set_policy`

```elixir
@callback set_policy(priority :: atom(), attrs :: map()) ::
  {:ok, map()} | {:error, term()}
```

Sets or creates a new SLA policy for a specific priority.

---

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